Index: /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js (revision 2746)
+++ /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js (revision 2747)
@@ -127,5 +127,4 @@
*
close - close button.
* tabs - tabs area.
- * bridge - the bridge between the active tab and the content page.
* contents - the content page area.
* footer - the footer area.
@@ -154,8 +153,8 @@
'title' : [1,1,0],
'close' : [1,1,0,0],
- 'tabs' : [1,1,1],
- 'bridge' : [1,1,2],
- 'contents' : [1,1,3],
- 'footer' : [1,1,4]
+ 'tabs' : [1,1,1,0,0,1,0,0,0],
+ 'tabs_table' : [1,1,1],
+ 'contents' : [1,1,2],
+ 'footer' : [1,1,3]
};
for ( i in this.parts )
@@ -264,5 +263,6 @@
this.addPage( definition.contents[i] );
- var classRegex = /cke_dialog_tab(\s|$|_)/;
+ var tabRegex = /cke_dialog_tab(\s|$|_)/,
+ tabOuterRegex = /cke_dialog_tab(\s|$)/;
this.parts['tabs'].on( 'click', function( evt )
{
@@ -270,10 +270,12 @@
// If we aren't inside a tab, bail out.
- if ( !classRegex.test( target.$.className ) )
+ if ( !tabRegex.test( target.$.className ) )
return;
- // Find the outer container of the tab.
- while ( target.getName() == 'div' && classRegex.test( target.$.className ) )
+ // Find the outer container of the tab.
+ while ( target.getName() != 'td' || !tabOuterRegex.test( target.$.className ) )
+ {
target = target.getParent();
+ }
id = target.$.id.substr( 0, target.$.id.lastIndexOf( '_' ) );
this.selectPage( id );
@@ -542,12 +544,14 @@
page = CKEDITOR.dom.element.createFromHtml( pageHtml.join( '' ) );
tab = CKEDITOR.dom.element.createFromHtml( [
- '',
- ' ',
- ' ',
- CKEDITOR.tools.htmlEncode( contents.label ),
- ' ',
- ' ',
- ' '
+ '',
+ '',
+ ' | ',
+ '',
+ CKEDITOR.tools.htmlEncode( contents.label.replace( / /g, '\xa0' ) ),
+ ' | ',
+ ' | ',
+ '
| '
].join( '' ) );
+ tab = tab.getChild( [0,0,0] );
// First and last tab styles classes.
@@ -577,5 +581,5 @@
// Attach the DOM nodes.
- tab.getFirst().unselectable();
+ tab.unselectable();
page.appendTo( this.parts.contents );
tab.appendTo( this.parts.tabs );
@@ -600,6 +604,4 @@
selectPage : function( id )
{
- var bridge = this.parts.bridge;
-
// Hide the non-selected tabs and pages.
for ( var i in this._.tabs )
@@ -618,28 +620,4 @@
selected[1].show();
var me = this;
-
- // Place the bridge just under the selected tab. Count 1px left and right
- // of the tab as border space.
- var placeBridge = function()
- {
- var selectedElement = selected[0].getFirst().$;
-
- // Gecko and Opera have a strange bug that cause the bridge to be
- // added to the wrong layout element initially.
- if ( !selectedElement.offsetParent || selectedElement.offsetParent.nodeName.toLowerCase() == 'body' )
- {
- setTimeout( placeBridge, 50 );
- return;
- }
- bridge.setStyles(
- {
- left : me._.editor.lang.dir == 'ltr' ? ( selectedElement.offsetLeft + 17 || 0 ) + 'px' : 'auto',
- right : me._.editor.lang.dir == 'rtl' ?
- ( selectedElement.offsetParent.offsetWidth - selectedElement.offsetLeft - selectedElement.offsetWidth + 17 || 0 ) + 'px' :
- 'auto',
- width : ( selected[0].getFirst().$.offsetWidth - 2 || 0 ) + 'px'
- });
- };
- placeBridge();
},
Index: /CKEditor/branches/prototype/_source/skins/default/dialog.css
===================================================================
--- /CKEditor/branches/prototype/_source/skins/default/dialog.css (revision 2746)
+++ /CKEditor/branches/prototype/_source/skins/default/dialog.css (revision 2747)
@@ -183,6 +183,23 @@
right: 16px;
background-color: #e3e3c7;
- clear: both;
+ z-index: 1;
+ border-collapse: separate;
+}
+
+.cke_skin_default.cke_browser_ie .cke_dialog_tabs
+{
+ border-collapse: collapse;
+}
+
+.cke_skin_default .cke_dialog_tabs .head_filler
+{
padding-left: 10px;
+ border-bottom: 1px solid #D5D59D;
+}
+
+.cke_skin_default .cke_dialog_tabs .tail_filler
+{
+ width: 100%;
+ border-bottom: 1px solid #D5D59D;
}
@@ -196,4 +213,5 @@
right: 16px;
border: #d5d59d 1px solid;
+ border-top: none;
}
@@ -225,16 +243,16 @@
.cke_skin_default .cke_dialog_tab_center
{
- float: left;
cursor: pointer;
- height: 15px;
-}
-
-.cke_skin_default .cke_dialog_tab,
+}
+
+.cke_skin_default .cke_dialog_tab div
+{
+ border-bottom: 1px solid #D5D59D;
+}
+
.cke_skin_default .cke_dialog_tab_left,
.cke_skin_default .cke_dialog_tab_right
{
- float: left;
cursor: pointer;
- height: 23px;
}
@@ -242,13 +260,14 @@
{
color: #737357;
- padding: 4px 5px 3px 5px;
border-left: 1px solid #d5d59d;
border-right: 1px solid #d5d59d;
border-top: 1px solid #d5d59d;
-}
-
-.cke_skin_default.cke_rtl .cke_dialog_tab
-{
- float: right;
+ height: 15px;
+ padding: 4px 5px;
+}
+
+.cke_skin_default .cke_dialog_tab_selected div
+{
+ border-bottom: 1px solid #F1F1E3;
}
@@ -264,21 +283,4 @@
background-color: #f1f1e3;
font-weight: bold;
-}
-
-.cke_skin_default .cke_dialog_tabs_bridge
-{
- background-color: #f1f1e3;
- height: 1px;
- position: absolute;
- top: 54px;
- left: 0px;
- width: 0px;
- z-index: 1;
- overflow: hidden;
-}
-
-.cke_skin_default .single_page .cke_dialog_tabs_bridge
-{
- display: none;
}
Index: /CKEditor/branches/prototype/_source/skins/default/skin.js
===================================================================
--- /CKEditor/branches/prototype/_source/skins/default/skin.js (revision 2746)
+++ /CKEditor/branches/prototype/_source/skins/default/skin.js (revision 2747)
@@ -64,5 +64,6 @@
width = data.width,
height = data.height,
- dialog = data.dialog;
+ dialog = data.dialog,
+ standardsMode = ( CKEDITOR.document.$.compatMode == 'CSS1Compat' );
if ( data.skin != skinName )
return;
@@ -81,9 +82,9 @@
setSize( dialog, 'b', width - 60, 51 );
setSize( dialog, 'b_resize', width - 32, null );
+ setSize( dialog, 'tabs_table', width - 32, null );
if ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 )
{
- var standardsMode = ( CKEDITOR.document.$.compatMode == 'CSS1Compat' ),
- contentWidth = width - 34,
+ var contentWidth = width - 34,
contentHeight = dialog.getPageCount() > 1 ? height - 107 : height - 84,
contentsLength = dialog.parts.contents.getChildCount();
@@ -97,5 +98,4 @@
setSize( dialog, 'title', standardsMode ? width - 52 : width - 32, standardsMode ? null : 31 );
- setSize( dialog, 'tabs', standardsMode ? width - 42 : width - 32, null );
setSize( dialog, 'contents', contentWidth, contentHeight );
setSize( dialog, 'footer', width - 32);
Index: /CKEditor/branches/prototype/_source/themes/default/theme.js
===================================================================
--- /CKEditor/branches/prototype/_source/themes/default/theme.js (revision 2746)
+++ /CKEditor/branches/prototype/_source/themes/default/theme.js (revision 2747)
@@ -131,6 +131,9 @@
'',
'',
- '',
- '',
+ '',
'',
'',
|