mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
+ merge from depot
This commit is contained in:
commit
ae7247ac17
@ -55,7 +55,15 @@ Group.prototype = {
|
|||||||
opacity: 0,
|
opacity: 0,
|
||||||
})
|
})
|
||||||
.appendTo("body")
|
.appendTo("body")
|
||||||
.animate({opacity:1.0});
|
.animate({opacity:1.0}).dequeue();
|
||||||
|
|
||||||
|
var resizer = $("<div class='resizer'/>")
|
||||||
|
.css({
|
||||||
|
position: "absolute",
|
||||||
|
width: 16, height: 16,
|
||||||
|
bottom: 0, right: 0,
|
||||||
|
}).appendTo(container);
|
||||||
|
|
||||||
|
|
||||||
this._container = container;
|
this._container = container;
|
||||||
|
|
||||||
@ -82,7 +90,7 @@ Group.prototype = {
|
|||||||
this._children = this._children.filter(function(child){
|
this._children = this._children.filter(function(child){
|
||||||
if( $(child).data("toRemove") == true ){
|
if( $(child).data("toRemove") == true ){
|
||||||
$(child).data("group", null);
|
$(child).data("group", null);
|
||||||
$(child).animate({width:160, height:137}, 250);
|
scaleTab( $(child), 160/$(child).width());
|
||||||
$(child).droppable("enable");
|
$(child).droppable("enable");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -110,7 +118,7 @@ Group.prototype = {
|
|||||||
var bb = this._getContainerBox();
|
var bb = this._getContainerBox();
|
||||||
var tab;
|
var tab;
|
||||||
|
|
||||||
// TODO: This is an hacky heuristic. Should probably fix this.
|
// TODO: This is an hacky heuristic. Fix this layout algorithm.
|
||||||
var pad = 10;
|
var pad = 10;
|
||||||
var w = parseInt(Math.sqrt(((bb.height+pad) * (bb.width+pad))/(this._children.length+4)));
|
var w = parseInt(Math.sqrt(((bb.height+pad) * (bb.width+pad))/(this._children.length+4)));
|
||||||
var h = w * (2/3);
|
var h = w * (2/3);
|
||||||
@ -118,17 +126,8 @@ Group.prototype = {
|
|||||||
var x=pad;
|
var x=pad;
|
||||||
var y=pad;
|
var y=pad;
|
||||||
for([,tab] in Iterator(this._children)){
|
for([,tab] in Iterator(this._children)){
|
||||||
// This is for actual tabs. Need a better solution.
|
scaleTab( $(tab), w/$(tab).width());
|
||||||
// One that doesn't require special casing to find the linked info.
|
|
||||||
// If I just animate the tab, the rest should happen automatically!
|
|
||||||
/*
|
|
||||||
if( $("canvas", tab)[0] != null ){
|
|
||||||
$("canvas", tab).data('link').animate({height:h}, 250);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
$(tab).animate({
|
$(tab).animate({
|
||||||
height:h, width: w,
|
|
||||||
top:y+bb.top, left:x+bb.left,
|
top:y+bb.top, left:x+bb.left,
|
||||||
}, 250);
|
}, 250);
|
||||||
|
|
||||||
@ -175,9 +174,16 @@ Group.prototype = {
|
|||||||
self.add( $dragged )
|
self.add( $dragged )
|
||||||
},
|
},
|
||||||
accept: ".tab",
|
accept: ".tab",
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$(container).resizable({
|
||||||
|
handles: "se",
|
||||||
|
aspectRatio: true,
|
||||||
|
stop: function(){
|
||||||
|
self.arrange();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -253,6 +259,17 @@ window.Groups = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function scaleTab( el, factor ){
|
||||||
|
var $el = $(el);
|
||||||
|
|
||||||
|
$el.animate({
|
||||||
|
width: $el.width()*factor,
|
||||||
|
height: $el.height()*factor,
|
||||||
|
fontSize: parseInt($el.css("fontSize"))*factor,
|
||||||
|
},250).dequeue();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$(".tab").data('isDragging', false)
|
$(".tab").data('isDragging', false)
|
||||||
.draggable(window.Groups.dragOptions)
|
.draggable(window.Groups.dragOptions)
|
||||||
.droppable(window.Groups.dropOptions);
|
.droppable(window.Groups.dropOptions);
|
||||||
|
@ -80,6 +80,9 @@ TabCanvas.prototype = {
|
|||||||
animate: function(options, duration){
|
animate: function(options, duration){
|
||||||
Utils.log('on animate', this.tab.contentWindow.location.href);
|
Utils.log('on animate', this.tab.contentWindow.location.href);
|
||||||
|
|
||||||
|
// TODO: This doesn't seem to scale the rest of the interface elements at the same
|
||||||
|
// width, leaving unfortunately long trails.
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
if( duration == null ) duration = 0;
|
if( duration == null ) duration = 0;
|
||||||
|
|
||||||
|
@ -109,10 +109,21 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.group{
|
.group{
|
||||||
|
background-color: white;
|
||||||
cursor: move;
|
cursor: move;
|
||||||
-moz-box-shadow: 0px 0px 5px rgba(0,0,0,.2);
|
-moz-box-shadow: inset 2px 2px 12px rgba(0,0,0,.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Resizable
|
||||||
|
----------------------------------*/
|
||||||
|
.resizer{
|
||||||
|
background-image: url(../zoomgroups/gfx/resizer.png);
|
||||||
|
}
|
||||||
|
.ui-resizable { position: relative;}
|
||||||
|
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
|
||||||
|
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
||||||
|
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
@ -22,11 +22,21 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.group{
|
.group{
|
||||||
|
background-color: white;
|
||||||
cursor: move;
|
cursor: move;
|
||||||
-moz-box-shadow: 0px 0px 5px rgba(0,0,0,.2);
|
-moz-box-shadow: inset 2px 2px 12px rgba(0,0,0,.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Resizable
|
||||||
|
----------------------------------*/
|
||||||
|
.resizer{
|
||||||
|
background-image: url(gfx/resizer.png);
|
||||||
|
}
|
||||||
|
.ui-resizable { position: relative;}
|
||||||
|
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
|
||||||
|
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
||||||
|
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
@ -42,11 +52,11 @@
|
|||||||
<div class="tab">G</div>
|
<div class="tab">G</div>
|
||||||
<div class="tab">H</div>
|
<div class="tab">H</div>
|
||||||
<div class="tab">I</div>
|
<div class="tab">I</div>
|
||||||
<div class="tab">j</div>
|
<!--<div class="tab">j</div>
|
||||||
<div class="tab">k</div>
|
<div class="tab">k</div>
|
||||||
<div class="tab">m</div>
|
<div class="tab">m</div>
|
||||||
<div class="tab">n</div>
|
<div class="tab">n</div>
|
||||||
<div class="tab">z</div>
|
<div class="tab">z</div>-->
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
function randInt(num){
|
function randInt(num){
|
||||||
|
Loading…
Reference in New Issue
Block a user