Commit Graph

266 Commits

Author SHA1 Message Date
Aza Raskin
5b4e553b4b -- Stacked Group Behavior --
+ Removed the command-click quasimode for showing the tray version of stacked groups.
+ Added a new expand icon for showing the tray version of stacked groups
+ Refactored the Group.js code so that we now have both group.collapse() and group.expand()

-- Website Behavior --
+ Updated the website to pull the documentation section from the Etherpad
+ Some general DRY-based cleanup

-- Install.rdf --
+ Fiddled with the min/max version
2010-06-19 18:46:39 -07:00
Aza Raskin
1142fcad02 Fixed the incorrect timing of the tray when fanning out a stacked group. 2010-06-17 17:31:03 -07:00
Ian Gilman
a15dd94886 + Fixed Bug 568882 - TabCandy should not reorder tabs 2010-06-17 16:38:07 -07:00
Ian Gilman
d9ccf86c10 + groups.js is now fully documented (except for member variables) 2010-06-17 15:57:45 -07:00
Ian Gilman
7508dd43c6 + Moved "show trenches" to the dev menu
+ No longer messing with the tabbar order for ungrouped tabs
+ More documentation in groups.js
2010-06-17 14:52:25 -07:00
Ian Gilman
69f32a15a8 + updated/added license blocks to all JavaScript files 2010-06-16 17:19:11 -07:00
Ian Gilman
9c54c8a2a4 + fixed scoping issue that caused all tabs dropped in any group to return to a single group
+ fixed a bug causing tabs in the "new tabs" group to be huge
2010-06-16 16:30:48 -07:00
Ian Gilman
da373acd31 + removed unused code and reorged remainder
--HG--
rename : browser/themes/pinstripe/browser/tabcandy/shared/candybutton.png => browser/themes/pinstripe/browser/tabcandy/candybutton.png
2010-06-16 15:46:05 -07:00
Michael Yoshitaka Erlewine
d75f7aefbd reverted to previous version of the trench checking algorithm 2010-06-16 00:21:34 -04:00
Michael Yoshitaka Erlewine
11f97898e7 moved to tracking trenches by id; better trench cleanup and garbage collection; refactored a bit to make things faster? but with questionable results 2010-06-16 00:08:39 -04:00
Michael Yoshitaka Erlewine
aabb2ef685 new tab group should not project trenches 2010-06-15 22:27:03 -04:00
Ian Gilman
9b958f9967 + fixed broken unit test 2010-06-15 17:14:41 -07:00
Ian Gilman
3aa25919ae + merge 2010-06-15 16:52:30 -07:00
Ian Gilman
3639287fb5 + merge 2010-06-15 16:33:58 -07:00
Michael Yoshitaka Erlewine
6572c3dcf7 quick bugfix for resizing 2010-06-15 19:11:58 -04:00
Michael Yoshitaka Erlewine
53fb977790 tabs now also project trenches; unregistering trenches on group/tab close; allow proportional resizing while snapping; preferLeft and preferTop flags for which edges to preferentially snap to 2010-06-15 19:08:21 -04:00
Ian Gilman
b710531a7e + Cleaned up TabItem bounds getting and setting (the translation between our coordinates and the div style needs to be done carefully, in particular due to the padding in the tab style), and added a unit test for it 2010-06-15 15:55:47 -07:00
Michael Yoshitaka Erlewine
8b50b7c000 snapping for tabs as well as groups 2010-06-15 17:45:49 -04:00
Michael Yoshitaka Erlewine
a6d59b9859 refactoring dragOptions, dropOptions 2010-06-15 17:38:55 -04:00
Ian Gilman
15dfb71253 + merge 2010-06-15 13:51:24 -07:00
Ian Gilman
b84ebd26bb + tweak to how we deal with laying out small numbers of tabs in a group 2010-06-15 13:48:37 -07:00
Michael Yoshitaka Erlewine
b5f5939202 quick refactoring 2010-06-15 15:26:35 -04:00
Ian Gilman
5d85d8d4ce + mitcho's first pass at group snapping 2010-06-15 11:53:53 -07:00
Ian Gilman
2a3012c2d9 + closing a named group with tabs in it now works correctly
+ changed zoom out easing back to "cubic-bezier"
2010-06-14 17:23:17 -07:00
Ian Gilman
93d0196ae7 + Hitting the "new tab" button in a group no longer first takes you to the active tab in that group
+ Fixed a couple of "null tab" errors when calling storage.js
+ Fixed a couple of zooming issues related to closing tabs while you're in them
2010-06-14 16:56:27 -07:00
Ian Gilman
7ceb6f598e + Refactored zoom code into TabItem (was in TabItems and Page)
+ The "zoom prep", where the div is resized behind the scenes, is now much more robust; items can be rearranged while in this state (in response to new tabs opening, for instance), and everything still works out.
+ Group._activeTab is now a TabItem rather than a DOM element
+ Most of the old "mod" routine is now in the TabItem constructor; "mod" no longer exists
2010-06-14 15:43:02 -07:00
Aza Raskin
16af125c6e + Added code for making zoom-in faster too
+ Made the code for the speed-ups on zoom-in/zoom-out more general
2010-06-11 17:57:02 -07:00
Aza Raskin
c995a378f3 + A clever trick to speed up the zoom-out animation.
Because image scaling is slowest on big images, we cheat and start the image
at half-size and placed accordingly. Because the animation is fast, you can't
see the difference but it feels a lot zippier. The only trick is choosing the
right animation function so that you don't see a change in percieved
animation speed from frame #1 (the tab) to frame #2 (the half-size image) to
frame #3 (the first frame of real animation). Choosing an animation that starts
fast is key.
2010-06-11 17:33:15 -07:00
Ian Gilman
0ff4fd993c + Now using the "front" class when zooming down (was just when zooming up), hopefully to speed things up
+ Modified the  "front" class to remove unnecessary bits from the tab, and to turn on crisp edges, hopefully to speed things up
2010-06-11 16:35:47 -07:00
Ian Gilman
60fa1939d0 + documentation 2010-06-11 15:08:14 -07:00
Ian Gilman
400c74246b + merge 2010-06-11 13:39:57 -07:00
Ian Gilman
1a6ce0378f + Cleaned up zoom down so it starts sooner and is less chunky
+ Moved animate.html into a "workshop" folder and added a pagechange.html. This folder will go away soon enough, but for now it's a good spot to stash tests
2010-06-11 13:36:58 -07:00
Aza Raskin
16668269b3 + A work-around for supporting transitions to and from 'auto' values of left, top, width, height, etc.
+ For more details see: https://bugzilla.mozilla.org/show_bug.cgi?id=571344
2010-06-10 14:35:15 -07:00
Ian Gilman
f92c142ff8 + merge 2010-06-10 14:05:08 -07:00
Ian Gilman
5b58ab937a + Added iQ.timeout, which wraps setTimeout in try/catch. Everything uses this now 2010-06-10 12:04:39 -07:00
Aza Raskin
c4eff52ae4 + Added logging to show that our timing in animations is very strange 2010-06-10 11:48:17 -07:00
Ian Gilman
f64475e0f1 + Fixed z-index issue (and added a unit test for it)
+ Fixed some of the tab sizing issues (like when returning from a tab)
2010-06-09 17:30:02 -07:00
Ian Gilman
0c931296c2 + We are entirely jQuery-free in revision-a!
+ You can now drop tabs on tabs
+ Resize works once again, but with iQ
2010-06-09 14:45:48 -07:00
Ian Gilman
69fa2eabd9 + merge 2010-06-08 17:14:40 -07:00
Ian Gilman
a6c201a7b1 + All dragging is now done with iQ
+ You can drop tabs onto groups (but no tabs on tabs yet)
+ Disabled resize for now
+ Fixed a bug with groups looking like they were deleted but not really being
2010-06-08 17:13:19 -07:00
Aza Raskin
2e9ad78c21 + Tweaked the timing function to look prettier. 2010-06-08 13:42:27 -07:00
Ian Gilman
b85582da77 + documentation+ documentation+ documentation+ documentation+ documentation+ documentation+ documentation+ documentation+ documentation 2010-06-07 17:24:55 -07:00
Ian Gilman
ad374945f9 + All event handlers sent into iQ.fn.bind and its aliases are now automatically wrapped in a try/catch (the catch simply does a Utils.log with the error)
+ Fixed a couple of issues found with the new event try/catch
+ Converted Group.newTab over to iQ (was the last jQuery bit besides drag/drop/resize)
2010-06-07 17:20:15 -07:00
Ian Gilman
343ec477cb + We're no longer using a style sheet for our CSS transitions (doing it directly in JavaScript instead)
+ Changed the iQ.fn.animate call signature: it now takes two arguments, a CSS object and an options object (with possible parameters: duration, easing and complete)
+ iQ.fn.animate now reliably calls back the completion routine (this was causing all sorts of trouble)
+ Reenabled TabMirror.pausePainting
+ Added animate.html, a test bed for playing with CSS transitions
2010-06-07 16:16:55 -07:00
Ian Gilman
bebbe9d00f + Temporarily added a bunch of logging for debugging purposes (commented out)
+ Fixed a bug with iQ.fn.one that caused it to not properly set "this"
+ Temporarily disabled TabMirror.pausePainting, which is causing problems at the moment (will fix soon)
2010-06-04 16:39:33 -07:00
Ian Gilman
df30493cb1 + groups.js is now jQuery-free except for drag/drop/resize and the newTab routine
+ Added blur and focus event handlers to iQ
+ iQ.fn.data() now supports multi-objects
+ iQ.fn.fadeOut() now accepts a callback
2010-06-04 15:08:24 -07:00
Ian Gilman
e1e3c9393c + Added hide and show to iQ
+ tabitems.js is now jQuery-free except for drag/drop/resize
+ Cleaned up usage of TabItems.getItemByTab and renamed it to getItemByTabElement to make it clearer
2010-06-04 12:34:03 -07:00
Aza Raskin
710dae3648 + Changes the animation curve to have a little bounce. A little sway. Some feeling. Some heart. Some sooooul. Ooooh yeah.
+ Most actions now take 200ms instead of 300ms
2010-06-03 18:45:17 -07:00
Ian Gilman
5a5ba3383b + Started on iQ for tabitems.js; now using iQ for TabItem.setBounds. We're not yet supporting the tabcandy bounce animation, so the tab movement boring now… to be fixed soon.
+ Added fadeIn and fadeOut to iQ
+ Added a simple test framework to stand in for mochitest, and gave it a couple of iQ tests
2010-06-03 17:11:13 -07:00
Ian Gilman
195438b12d + Turned off -moz-crisp-edges
+ First use of iQ.animate(), which uses CSS transitions: tab zoom up and down, as well as phantom group disappearing when you drag in empty space but don't make it big enough
+ Consolidated onFocus call of UIClass into onFocus call of Page
+ ui.js is jQuery-free
+ The zoom down animation happens after a setTimeout(…, 1), which causes an unfortunate delay, but without it, the animation doesn't happen at all
+ Added val, resize, change to iQ.fn and isAnimating to iQ
2010-06-03 15:31:18 -07:00