Commit Graph

57 Commits

Author SHA1 Message Date
Ian Gilman
7fcdbe0da5 + merge 2010-04-28 17:18:24 -07:00
Ian Gilman
be7ec21618 + Stacks now expand into a special "tray"
+ You can now once again rename groups
2010-04-28 17:18:02 -07:00
Aza Raskin
6b138766fa + Groups now keep the concept of which group is "active"
+ When you open a new tab in an active group, that new tab belongs to the active group.
+ Made the New Tabs area much smaller.
2010-04-28 16:39:15 -07:00
Ian Gilman
0fd506d838 + First version of stacks
+ Cleaned up issues with algorithm for choosing where to position a tab dropped into a group
+ You can no longer drag a tab or group around by its close box
+ Changed tab drop tolerance… tabs now just need to overlap 50% in order to group. This is to make it consistent with dropping a tab on an existing group, which already behaved this way
+ A single tab in a group will no longer fill the entire group
2010-04-27 16:11:49 -07:00
Ian Gilman
5a7c31269c + Point's constructer now accepts a point to copy
+ Added the close box back to the "new tab" group; it doesn't close the group, but it closes all the tabs. Seems like a useful feature, though maybe it shouldn't look like all the other close boxes
+ Groups no longer auto-close when all items are removed, if they're named
+ You can now close an empty group
+ Fixed bug with dragging tabs out of a group
+ Resizing the window now works, even if you've closed tab candy
+ When unsquishing, groups aren't forced into tab aspect ratio
2010-04-26 16:48:46 -07:00
Ian Gilman
94ee161a69 + Now reconnecting tabs with groups
+ Groups now have unique ids
+ Items now have a "parent" property (instead of $(this.container).data('group'))
+ Group.add now accepts Item objects rather than just jQuery objects
+ Fixed several cold start issues
2010-04-26 13:37:39 -07:00
Ian Gilman
4f29244c0c + Fixed an unfortunate bug in Rect copying
+ Now reconstituting groups from saved file
+ Now saving and reconstituting tabs
+ Fixed start up problem when there's only one tab
2010-04-23 17:11:06 -07:00
Ian Gilman
b73910fa14 + We're now storing data in a file named after your candy, in a folder named 'tabcandy' inside your profile folder (e.g. tabcandy/revision-a.json). Currently the only data that's round-tripped is whether you have hidden the tab bar, but we are saving group data out (just not reading it yet).
+ The nav bar wasn't successfully hiding when first starting the browser; fixed.
2010-04-22 17:19:42 -07:00
Aza Raskin
1e265b4716 + Animation when adding a page into a stack
+ Make sure stack overlays are shown inside the window.
2010-04-22 16:13:19 -04:00
Aza Raskin
830b02ada1 More updates to stacking inside of zoomgroups.
+ It works now!
+ Shrink a group to a pile and then click on the stack.
+ The group opens in an overlay.
+ Moving your cursor outside the group makes it animate back into the stack.
2010-04-22 15:51:48 -04:00
Aza Raskin
3cd419c6fd First pass at an implementation of stacks.
+ In Zoomgroups put some pages into a group, then scale it down
+ It will animate itself into a stack
+ Pull it out again and it will go back to being a zoomgroup
2010-04-22 12:38:37 -04:00
Ian Gilman
dc891cb0ec + finished locking down the "new tabs" group… can no longer be renamed or auto deleted
+ Removed potential slowdown for dragging tabs… should be the same now as it was before my "keeping groups and children in sync" fix
2010-04-21 17:27:28 -07:00
Aza Raskin
043202fa79 Cleaned up the interaction around naming a group.
+ Animation on changing the default name
+ Appropriate color changes
+ Only show the input box on hover
2010-04-21 14:12:41 -04:00
Ian Gilman
c52c71a8a5 + menu key now works
+ started locking down the "new tabs" group
+ children no longer lag when dragging a group
+ you can no longer nest groups inside of other groups (for now)
2010-04-20 16:49:55 -07:00
Ian Gilman
5ee8d661e0 + Items now has a squishMode variable you can set to one of three possible ways to deal with items getting pushed off the screen: resize the whole set, squish only the ones getting pushed off, let them get pushed off but then have them push back on when there's room 2010-04-20 15:42:06 -07:00
Ian Gilman
cca8b5e120 + The "new tab" group no longer gets pushed away by the other items
+ Started work on Squish!™ code, not ready yet, so disabled
2010-04-16 17:21:03 -07:00
Ian Gilman
56db6cd241 + The tab bar toggle now has a down arrow when clicking on it will pull the tab bar down and an up arrow when it will push the tab bar up (was reversed)
+ The tab bar toggle and decorative strip now reside above the tab candy content in Z
+ Group titles now have prompt text/icon
+ Additional documentation (especially Mirror)
+ Fixed the dev mode features (were broken by the tab bar toggle changes)
+ The Firefox nav bar now correctly shows again when you create and go to a new tab
2010-04-16 15:09:23 -07:00
Ian Gilman
d54682ea3a + added the title and close box back to groups, with some basic styling
+ the "new tab" group now always lives at the bottom of the page
+ the candy switcher and the "grid" and "sites" features are now hidden by default. add ?dev=1 to the url to show them
+ the Firefox nav bar is now hidden when you're in the tab candy page
+ the starting grid now scales depending on how many tabs you have. (it is in fact sharing the arrange code that groups use for their children)
2010-04-14 17:12:06 -07:00
Ian Gilman
67e62540bf + Removed unnecessary margin and padding from tabs and groups (was messing up layout)
+ Now compensating for padding in tabs when laying them out
+ Tab titles are now a single line, cut at the width of the tab (but no ellipsis yet)
+ Groups now have the move cursor
+ Tab resizing now works, and is disabled when a tab is in a group
+ We now have a "new tabs" group that new tabs go into (created as needed)
+ New layout algorithm for tabs inside a group. It's not as space efficient as the last one, but the unused space is at the bottom rather than the right side, and in general I think it behaves more like people expect.
+ Groups now have a minimum width when resizing
+ If you drag the second to last tab out of a group and don't return it to that group, the group now dissolves.
+ When a tab gets below a certain size, its thumbnail and close box are hidden
+ When a tab's title gets below a certain size, it is hidden.
2010-04-12 17:20:35 -07:00
Aza Raskin
9af26a4f2f + Fixed the implementation of closing
+ Cleaned up the CSS styles by using background images
2010-04-10 02:16:02 -07:00
Aza Raskin
d27c70768f + Fixex a bug whereby the titles of pages would be hidden inside of groups. 2010-04-09 15:48:29 -07:00
aza@More-Better-Internet.local
2b6c10e7e8 + Tabs regain appropriate styling when being removed from a group. 2010-04-09 15:17:59 -07:00
aza@More-Better-Internet.local
a36b60726f + Continued cleanup of zoom code.
+ Tabs now have the correct style inside of groups.
2010-04-09 15:17:08 -07:00
Ian Gilman
300cdc43a7 + The container for a Group now encompasses its whole bounds; the titlebar is within it rather than outside of it. This is a cleaner structure, and fixes some issues with the titlebar, as well as allowing us to see the red glow for when a group will be dropped into another group. There are still some issues, but I think we'll leave them until we have a visual design. 2010-04-09 10:03:51 -07:00
Ian Gilman
b2019ace2e + Groups lose their resize handle when they get dropped into a group (and get it back when they get pulled out)
+ Now properly handling z order for dragging and nesting groups
+ If a group is the last item inside a group, closing it now closes the outer group as well
+ Fixed bug causing the closing of unrelated tabs to destroy groups
2010-04-02 17:33:06 -07:00
Ian Gilman
21602128cb + Reenabled the titlebar
+ Fixed the "sites" feature
+ Fixed pushAway for groups
2010-04-02 15:10:35 -07:00
Dan Walkowski
0e08d8be79 ZOMG MERGE. You HG Bastard. 2010-04-01 17:59:17 -07:00
Dan Walkowski
3a5ccc3063 merge 2010-04-01 17:26:51 -07:00
Ian Gilman
b0f1e5d93f + We're now keeping track of item locations independently of their divs
+ Renamed Group._container to .container (which it now inherits from Item)
+ Added Item.debug flag which turns on rectangles for debugging item locations
+ further unified dragging tabs vs dragging groups
+ Further unified the Group and TabItem objects under Item
2010-04-01 17:20:59 -07:00
Dan Walkowski
a0d5baf3dd added drop feedback when creating a new group, which looks like a group, and then animates into the final arranged shape. 2010-04-01 17:19:21 -07:00
Ian Gilman
6e6112ceb1 + merge from depot 2010-03-31 17:26:12 -07:00
Ian Gilman
033ae50793 + font size for tab names now scales properly
+ tabs now return to their proper size when you pull them out of a group
+ you can now nest groups inside of other groups (though all of the funky repercussions haven't been sorted out yet)
2010-03-31 17:24:16 -07:00
Dan Walkowski
d219e8fe08 cleaned up drag/drop code 2010-03-31 16:16:42 -07:00
Ian Gilman
34935fdee3 + Cleaned up various close and remove routines (the close group feature wasn't working properly)
+ Improved Tabs.tab() (though it's still kind of a hack); new tabs weren't being hooked up properly
2010-03-30 11:05:53 -07:00
Ian Gilman
7abb15a948 + The Grid and Sites features now work properly 2010-03-29 17:23:35 -07:00
Ian Gilman
f83c10d252 + Group and TabItem now inherit from Item (currently the pushAway routine and isAnItem property)
+ Group._children is now an array of Items (rather than DOM elements)
+ Groups and tabs now push other items away when they're moved, and groups also do so when resized
+ The Groups object now keeps an array of groups. This is more robust than counting DOM elements, for instance when a group is fading away (you want to act like it doesn't exist, even though its DOM element is still on the screen)
+ Documented the Item interface in items.js
+ lots of miscellaneous refinements to the code
2010-03-29 16:08:48 -07:00
Ian Gilman
2f3def3f85 + Removed Group.create() and made it the constructor instead
+ Added Group to window
+ Moved window.Items into items.js
+ Moved window.TabItem into tabitems.js and added a window.TabItems, which is largely the mod routine pulled from ui.js
2010-03-29 11:55:13 -07:00
Ian Gilman
f56556d9ec + Branched the shared groups stuff into copies just for revision-a; we've got a bunch of work to do, and it's not worth trying to keep all of the other candies compatible at the moment.
+ Added jquery.lint to revision-a. Haven't caught anything yet, but seems like it could be helpful.
+ More fiddling with the resizer css

--HG--
rename : browser/themes/pinstripe/browser/tabcandy/shared/resizer.png => browser/themes/pinstripe/browser/tabcandy/resizer.png
2010-03-29 11:16:18 -07:00
Ian Gilman
f2426297ad + First working draft of tabs and groups getting pushed out of the way by the creation of a new group
+ The grid feature now removes all the tabs from their groups beforehand; it doesn't restore tab sizes properly yet
+ You can now rearrange tabs inside a group
+ More geometry:
++ The Rect constructor now accepts either coordinates or another Rect
++ Rect.inset now accepts either coordinates or a Point
++ New functions: Rect.offset and Rect.equals
2010-03-26 11:34:09 -07:00
Ian Gilman
a78be22cf5 + moved groups.js and resizer.png to shared locations
+ more work on groups pushing things out of the way
+ some steps toward having groups and tabs share an interface
+ more geometry: we now have a point class, and the rect class now has center and intersect routines

--HG--
rename : content/candies/zoomgroups/gfx/resizer.png => browser/themes/pinstripe/browser/tabcandy/shared/resizer.png
2010-03-25 17:22:45 -07:00
Ian Gilman
cd6d84b400 + merged aza's merge of my merge 2010-03-24 16:55:45 -07:00
Ian Gilman
59fede1f1f + Removed the margin from the tabs; we need to handle buffers more explicitly
+ You can no longer launch into a tab by right clicking it
+ A group's close box now works
+ A group's title bar now works again (silly css misunderstanding)
+ Added a basic Rect object to utils.js, and a getBounds routine for retrieving the bounds of a DOM element
+ The Utils logging routines no longer expand functions (instead just saying that it's a function)
2010-03-24 16:54:48 -07:00
aza@host-7-5.mv.mozilla.com
b3577711c2 + Merged Ian's code into our local files
+ Added position-dependent additions to gropus.
2010-03-24 16:27:56 -07:00
Ian Gilman
474a4b0a32 + Attempting to merge 2010-03-24 14:46:10 -07:00
Ian Gilman
0e766773cc + Removed search box
+ It's no longer possible to accidentally launch into a tab by dragging the mouse and ending up on a tab. Same for close boxes
+ It's no longer possible to add a tab to a group twice (by dragging it around inside the group)
+ When a tab inside a group is closed, it's removed from the group. If it's the last in the group, the group goes away
+ Refactored mirror code to make mirror objects first-class citizens
+ Added a utility routine for determining if an object is a jQuery object (couldn't find one in jQuery itself)
2010-03-24 14:38:23 -07:00
aza@host-7-5.mv.mozilla.com
4e526071e7 Updated the group code to have a sane arrangement algorithm. 2010-03-24 14:17:05 -07:00
aza@localhost
8f40cdbd50 + Added the ability for Groups to assume any shape 2010-03-23 18:16:19 -07:00
aza@localhost
571236dbca + Reverted from CSS-Transitions to jQuery Animations. There were just too many errors using Firefox 3.7 (like that new tabs stopped appearing, and closed tabs stopped dissapearing!)
+ Removed some un-needed code that dealt with old-style animations from both of the ui.js implementations (from ian1 and original)
+ Added code that handles zIndex went zooming
2010-03-22 19:19:40 -07:00
aza@More-Better-Internet.local
e269a321a4 I incorrectly called css-transitions css-transforms. Fixed that. 2010-03-19 13:51:05 -07:00
aza@More-Better-Internet.local
4b9bda4a32 Added a check to see if Firefox 3.7+ is being used. It is required
for css-transforms.
2010-03-19 13:46:22 -07:00