Commit Graph

5834 Commits

Author SHA1 Message Date
Edward Lee
77ed94ee3c Bug 574188 - Include individual js pieces into tabcandy.js and expose content and skin files with jar.mn
--HG--
rename : browser/base/content/tabcandy/tabcandy.xhtml => browser/base/content/tabcandy/tabcandy.html
2010-06-29 01:04:26 -07:00
Edward Lee
951edd39c8 Bug 574188 - Add UI hooks to trigger tab candy 2010-06-29 01:04:22 -07:00
Edward Lee
cdce020195 Merge updates to tabcandy to mozilla-central. 2010-06-28 16:18:47 -07:00
Raymond Lee
045cf1a746 Bug 572889 - Move TabCandy out of a tab and into a per-window xul:deck
Wrap the browser in a deck with an iframe for tabcandy.
2010-06-28 16:15:37 -07:00
Ian Gilman
68589ba178 + Items no longer have reloadBounds; once the item is set up, we never pull location data off of the div 2010-06-28 16:11:22 -07:00
Ian Gilman
76617fe78a + Cleaned up inelegant box shadows per fryn's suggestion
+ Made the snap guides a little more subtle
2010-06-28 14:56:20 -07:00
Ian Gilman
1e217dd346 + applying Raymond's fix for Bug 565968 - tab-switching keyboard shortcuts iterate over all tabs not just the active subset 2010-06-28 13:47:25 -07:00
Michael Yoshitaka Erlewine
2aeca5ec1f move trench styling into CSS; fix trenches so that, if in showDebug mode, the trenches will stay drawn 2010-06-28 02:55:26 -04:00
Ian Gilman
95b7cd38f1 + merge 2010-06-25 16:10:52 -07:00
Ian Gilman
d2bd3d9691 + Removed icons that exist elsewhere in the browser; now using them instead
+ Our toolbar button now uses the standard toolbar button styling; we just apply a glyph to it
+ Went through the code with http://caja.appspot.com/tools/index and fixed a number of minor issues it found
+ Added "refresh" to the dev menu (since you won't be able to just refresh the tabcandy page once it's in the xul:deck)
2010-06-25 16:00:51 -07:00
Aza Raskin
76fbf5a368 + Added a minimum size for groups. 2010-06-25 15:47:34 -07:00
Aza Raskin
d7e757ad96 + Cleaned up the code which changes the styling of a tabitems fav icon.
- The bite still exist, it just gets smaller.
2010-06-25 15:15:51 -07:00
Aza Raskin
0b70f644f5 + Updated the spec
+ Modified the tabitem layout code so that favicons are more sensibly handled at smaller sizes.
2010-06-24 23:59:32 -07:00
Ian Gilman
922535a30a + If a dragged item overlaps more than one droppable, the largest intersection wins
+ Added intersection and area to Rect
+ Cleaned out a little debug code
2010-06-23 17:10:16 -07:00
Raymond Lee
c12c95019c Bug 572889 - Move TabCandy out of a tab and into a per-window xul:deck [r=iangilman]
Update code for tabCandy in xul:deck to not assume it's living in a tab and update various events and callbacks.

--HG--
extra : rebase_source : 7007f13f4e9e3ebd0eb38f91d41bccfa68b3099d
2010-06-23 17:25:34 +08:00
Edward Lee
3f94e7a630 Merge tabcandy to mozilla-central. 2010-06-28 15:47:09 -07:00
Michael Yoshitaka Erlewine
3c78dad6c8 much better tracking of exactly which trench did the snapping 2010-06-23 00:19:10 -04:00
Michael Yoshitaka Erlewine
cef22ee195 previous fix to new tab tray allowed tabs to be *resized* into the new tab tray as well. fixed. 2010-06-22 23:52:40 -04:00
Michael Yoshitaka Erlewine
d4ae73a50a some edges of TabItems were not projecting trenches on startup 2010-06-22 23:45:51 -04:00
Michael Yoshitaka Erlewine
4f0bcda9c4 now can drag tabs onto new tab tray... now getSafeWindowBounds does *not* use getPageBounds at all. 2010-06-22 23:35:38 -04:00
Michael Yoshitaka Erlewine
a327ab3b58 first pass at drawing "guides" when you snap. In reality, they should only show up after you hold it in position for a half second or so, and the identification of which trench was actually used in snapping must be improved. Recommendation: do not ship this in this current iteration. 2010-06-22 23:18:40 -04:00
Michael Yoshitaka Erlewine
d0875e4220 don't snap to anything (except edges) if you're on top of another group (fixes bug reported by Aza: snapping onto another group) 2010-06-22 23:16:49 -04:00
Michael Yoshitaka Erlewine
81aa471969 just some comments to pushAway and related functions; rm legacy squishModes; pushAway now uses Trenches.gutter for margins, and respects safe window bounds 2010-06-22 19:50:37 -04:00
Michael Yoshitaka Erlewine
b6cecaceed moved close button outside of the title bar so that it doesn't jump around on squish. 2010-06-22 19:47:02 -04:00
Ian Gilman
501a7c0e98 + merge 2010-06-22 16:43:44 -07:00
Ian Gilman
688afd22c9 + In the quest to abolish reloadBounds(), I've rewritten draggable, droppable and resizable to operate on an item's bounds rather than directly on the div. I've also removed those routines from iQ, and integrated them into Item. Additional related cleanup and documentation.
+ Removed a little bit of aza debug code
+ Added size and position routines to Rect
2010-06-22 16:42:06 -07:00
Michael Yoshitaka Erlewine
d16ab92084 don't snap if we're dragging over a drop-site. 2010-06-22 15:52:34 -04:00
Michael Yoshitaka Erlewine
f894f8646f + Range.overlaps; bugfix: border trenches unfortunately had an inappropriately large activeRange... fixed. This fixes the long-distance border-snapping which unfortunately shipped with 0.4 2010-06-21 22:32:07 -04:00
Aza Raskin
bfc003aaea + Opacity was effected, so backed out my iQ change. 2010-06-21 18:05:46 -07:00
Aza Raskin
040e3e38b2 +merge 2010-06-21 17:34:52 -07:00
Aza Raskin
32de3bb9dd + Fixed a bug in iQ whereby unadorend numbers in animations wouldn't get a "px" suffix.
+ This fixes the title's strange placement.
2010-06-21 17:34:34 -07:00
Ian Gilman
fb396964b7 + Added attr to iQ, plus a unit test for it
+ Fixed click handler for expand button (it was allowing drag, and also it was on mousedown)
+ Added Ehsan and Raymond to the install.rdf contributors list
2010-06-21 17:27:12 -07:00
Ian Gilman
4031df8b62 + Raymond's close button fix missed a couple cases: creating new tabs with command+click, and closing non-selected tabs with the close buttons in the tabbar. Fixed. 2010-06-21 16:35:29 -07:00
Ian Gilman
b392d4b51f + merge 2010-06-21 15:37:56 -07:00
Ian Gilman
96a9536bd8 + applied patch: Temp Fix: Bug 570565 - Background Tab Close buttons disappear 2010-06-21 15:17:23 -07:00
Aza Raskin
fb5c0336c1 + Fixed the minVersion of the XPI as per Mitcho's suggestion
+ Bumped XPI version to 0.4
+ Commented out the click-on-group to zoom into the last active tab
2010-06-21 14:49:38 -07:00
Michael Yoshitaka Erlewine
4752f94d2b deprecating iQ.fn.data isDragging flag... instead, using Item.isDragging flag 2010-06-21 16:38:33 -04:00
Aza Raskin
da01ed2bf8 + More merging 2010-06-19 18:53:21 -07:00
Aza Raskin
5a5d0efce8 + Merge 2010-06-19 18:51:57 -07:00
Aza Raskin
115cf08a6a + Removed the unused getChildrenBounds() method of a group. 2010-06-19 18:49:33 -07:00
Aza Raskin
8872ac2b18 + Added documentation for the hide/show expand control functions. 2010-06-19 18:49:08 -07:00
Aza Raskin
0168865d37 -- 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
Michael Yoshitaka Erlewine
d9518d92ca make sure to call Drag.stop at the end of resizing 2010-06-19 21:12:40 -04:00
Michael Yoshitaka Erlewine
400cd9dfac moved shared resizeOptions core into Items; move edge-snapping code out into Drag.snapToEdge; make resizeOptions invoke Drag.snap so that it can take advantage of the advances in drag-snapping technology; made snapToEdge work with resizeable rects 2010-06-19 20:45:23 -04:00
Michael Yoshitaka Erlewine
3c30b91f84 fixed regression of improper resizing on movement 2010-06-19 19:05:23 -04:00
Michael Yoshitaka Erlewine
93f7526e64 Rect now computes its own xRange and yRange 2010-06-19 18:47:26 -04:00
Michael Yoshitaka Erlewine
bf91b97286 trench.js docs 2010-06-19 18:39:55 -04:00
Michael Yoshitaka Erlewine
056efe34fb trust the Rect and use .right and .bottom 2010-06-19 17:44:19 -04:00
Michael Yoshitaka Erlewine
b3b3268172 some Trench docs; using Range 2010-06-19 17:40:14 -04:00
Michael Yoshitaka Erlewine
4c071f8bd0 Range update 2010-06-19 17:37:36 -04:00
Michael Yoshitaka Erlewine
b2a3e332f5 class Range 2010-06-19 16:58:51 -04:00
Michael Yoshitaka Erlewine
30bf9cdc1e snap to the edges of the window; don't snap if the meta (command) key is being held down 2010-06-19 16:18:30 -04:00
Michael Yoshitaka Erlewine
48f161ea75 move defaultGutter into Items; defaultRadius into Trenches; now items cannot escape the window when dragged (bug 572919) 2010-06-19 16:08:14 -04:00
Michael Yoshitaka Erlewine
bc361d27b2 one more tweak for "Only snap to a trench when it is physically proximate" 2010-06-19 15:35:27 -04:00
Michael Yoshitaka Erlewine
6431e8bbec more tabs into spaces 2010-06-19 15:05:36 -04:00
Michael Yoshitaka Erlewine
9cde4b0d11 turned tabs into spaces; "Only snap to a trench when it is physically proximate" (result: http://img.skitch.com/20100619-cp6pdsbrien3phhi9rbn85jr3t.jpg); added isDragging flag to item itself 2010-06-19 14:56:07 -04:00
Ian Gilman
dafde1fa03 + Fixed: Bug 569846 - No hover help for "new tab" icons in tab group 2010-06-18 14:59:24 -07:00
Ian Gilman
67b8dee295 + merge 2010-06-18 14:42:51 -07:00
Ian Gilman
59c05bb4e5 + Fixed: Bug 570089 - Dragging northwest in tabcandy area creates zero-area tab group 2010-06-18 14:42:06 -07:00
Michael Yoshitaka Erlewine
18bac5c387 fixed bug 572888: groups resizing when stuck in trench and moved slowly 2010-06-18 00:50:42 -04:00
Aza Raskin
8f15801ccc Fixed the incorrect timing of the tray when fanning out a stacked group. 2010-06-17 17:31:03 -07:00
Ian Gilman
40432d1f5c + Fixed Bug 568882 - TabCandy should not reorder tabs 2010-06-17 16:38:07 -07:00
Ian Gilman
d5a59dd7d3 + groups.js is now fully documented (except for member variables) 2010-06-17 15:57:45 -07:00
Ian Gilman
6e83727250 + 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
65e85064e7 + updated/added license blocks to all JavaScript files 2010-06-16 17:19:11 -07:00
Ian Gilman
b35293d149 + 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
9650718be6 + 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
02976e5207 reverted to previous version of the trench checking algorithm 2010-06-16 00:21:34 -04:00
Michael Yoshitaka Erlewine
92ff278dcd 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
5b061bfccc new tab group should not project trenches 2010-06-15 22:27:03 -04:00
Ian Gilman
735726ec57 + fixed broken unit test 2010-06-15 17:14:41 -07:00
Ian Gilman
b2cdae5bb4 + merge 2010-06-15 16:52:30 -07:00
Ian Gilman
2b75e3834d + merge 2010-06-15 16:33:58 -07:00
Michael Yoshitaka Erlewine
ae66951d56 quick bugfix for resizing 2010-06-15 19:11:58 -04:00
Michael Yoshitaka Erlewine
ea88675f6d 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
9e9765eb7a + 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
bc4b8a9b47 snapping for tabs as well as groups 2010-06-15 17:45:49 -04:00
Michael Yoshitaka Erlewine
55567c549e refactoring dragOptions, dropOptions 2010-06-15 17:38:55 -04:00
Ian Gilman
40dd78661c + merge 2010-06-15 13:51:24 -07:00
Ian Gilman
5b37c18c7d + 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
ac1bf91ea4 quick refactoring 2010-06-15 15:26:35 -04:00
Ian Gilman
829b04df63 + mitcho's first pass at group snapping 2010-06-15 11:53:53 -07:00
Ian Gilman
68fc1810a9 + 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
f4b6400f47 + 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
01c7b6ebd7 + 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
f1d8db810e + 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
14ffc49b4d + 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
e92b535ded + 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
6f969130e3 + documentation 2010-06-11 15:08:14 -07:00
Ian Gilman
d043869a24 + merge 2010-06-11 13:39:57 -07:00
Ian Gilman
d5fa1750f1 + 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
8fcc97d0f7 + 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
4e92c2e969 + merge 2010-06-10 14:05:08 -07:00
Ian Gilman
b4127e8668 + Added iQ.timeout, which wraps setTimeout in try/catch. Everything uses this now 2010-06-10 12:04:39 -07:00
Aza Raskin
9c249d37c7 + Added logging to show that our timing in animations is very strange 2010-06-10 11:48:17 -07:00
Ian Gilman
4d1497d7cf + 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
7877491a9e + 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
f461b125fa + merge 2010-06-08 17:14:40 -07:00
Ian Gilman
2bc532a9c7 + 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
2d2fb2c54a + Tweaked the timing function to look prettier. 2010-06-08 13:42:27 -07:00