Commit Graph

147 Commits

Author SHA1 Message Date
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
aza@More-Better-Internet.local
d089ac6ea8 + Added a zoom animation using CSS transitions.
When you click on a page (both in zoomgroups and original)
  the page zooms to the foreground before the tab switch happens
  giving the appearance of having the tab zoom to life.
  Just after the switch the page resumes its normal size and
  position.

  It is so very pretty.

+ TODO: Add the reverse animation when switching back from
  a tab.
2010-03-19 13:21:21 -07:00
aza@More-Better-Internet.local
610edfafbb Added the concept of a menu bar on mouseover.
We are now part of the way towards getting namable spaces, as well as spaces that close a number of tabs.
2010-03-18 21:49:24 -07:00
Ian Gilman
baf88f8812 IAN1 CANDY:
+ Cleaned up the text location when shrunk down
+ Gave the groups rounded corners on all but the resize corner
+ Liberal use of overflow:hidden
+ Removed lasso (for now)
+ The "site" feature now uses grouping. Each site that has multiple pages gets its own group; the remaining pages are grouped together (unless there's only one remaining page, in which case it's just left alone (though maybe it should get a group too))

GROUPS:
+ Although the animation is chunky to non-existent, the Groups object now has an arrange() function that breaks the window into equal sections
+ Fixed a bug where dragging a tab within a group and dropping it again would add it  a second time. Related to this bug, found that tabs were being added to the Group._children sometimes as DOM elements and sometimes as jQuery objects. Standardized on DOM objects
+ The Group class is now available from the Groups object, so outside code can create new groups
2010-03-17 17:32:49 -07:00
Ian Gilman
ae7247ac17 + merge from depot 2010-03-17 14:21:29 -07:00
Ian Gilman
f4fa5c8cca + Moved my work on the stacks candy to the ian1 candy, and added groups to it
+ added automatic thumbnail repainting for resized thumbnails
+ updated the original and ian1 candies so the thumbnail scales automatically with the jquery animation of the whole tab
2010-03-17 14:06:07 -07:00
aza@More-Better-Internet.local
1c0af40847 * Groups are now resizable!
* Added a stop-gap measure for scaling tabs better. (Ian has a better, automatic solution?)
* Ported changes over to the original candy
** TODO: the .arrange() method doesn't work all that well in the original candy
2010-03-17 11:53:03 -07:00
aza@More-Better-Internet.local
59ccf4f8de Added a new style of interaction called a zoom group. It is rather hot. I believe this is how we will be doing all future designs. 2010-03-17 01:07:00 -07:00