Commit Graph

78 Commits

Author SHA1 Message Date
Ian Gilman
914eeb66de + The "new tabs" group can now not be renamed or closed, but it can be moved and resized. Updated how item locking works to accommodate this.
+ Groups now have some extra space at the bottom to accommodate for the "new tab" button
+ Items now unsquish after another item is closed, and on resize. This should cut down on random-seeming unsquishes later.
2010-05-07 15:49:54 -07:00
Ian Gilman
2c18390f22 + merge 2010-05-06 17:13:51 -07:00
Ian Gilman
6767f35c41 + Removed tab bar control
+ Group title box now grows when you type into it, but always stays smaller than the width of the group
2010-05-06 17:01:53 -07:00
Aza Raskin
ac92c50c1c + You can now click-n-drag in empty space to create a group. If the group is too small, it will animate away (the cancel action) and if they group contains orphaned tabs, lo', it pulls those tabs into itself.
+ Changed the behavior of removing the penultimate tab from a group. The group no longer goes away until the very last tab is removed.
+ Added some new rect utilities for finding if a point/rect is inside another rect
2010-05-06 16:28:10 -07:00
Aza Raskin
559c4b04fa + Fixed an ugly bug where you could get trapped at an orphan tab (one that isn't in a group)
+ The tab bar for an orphaned tab shows all orphaned tabs.
+ Added more documentation.
2010-05-05 00:47:07 -07:00
Ian Gilman
52f82b8f20 + When coming back from a tab, the tabs in the group are rearranged visually (to match the new order in memory) if you've moved the tabs around in the tab bar 2010-05-04 17:13:07 -07:00
Ian Gilman
7a7a5382a6 + merge 2010-05-04 16:44:20 -07:00
Ian Gilman
9dc37e386b + A group with a single item now never stacks
+ Improved minimal size for groups and tabs inside of groups
+ When you close the active group, it was still being remembered as the active group (even though it didn't exist anymore); fixed.
+ If you have two tabs with the same url in different groups, and you refresh, it now does the right thing (unless that url is about:blank, in which case it drops them in the "new tabs" group)
+ Updated documentation (since Aza's been commenting!)
2010-05-04 16:44:03 -07:00
Aza Raskin
59edbb1b44 With Ian's help this commit:
+ Adds an new-tab animation that Feels Right(tm) [although the timing might still need tweaking]
+ When new tabs are added while TabCandy is focused, the no longer animate in from a random location.
2010-05-04 15:57:19 -07:00
Ian Gilman
52992045a9 + fixed aza's heisenbug having to do with creating new tabs 2010-05-04 14:55:17 -07:00
Aza Raskin
bf2dd202ae + Moved back to black overlay look for stacks
+ Grappling with a correct new-tab animation
2010-05-04 13:52:25 -07:00
Aza Raskin
092367501d + Added reverse-syncing of tab ordering: from tab bar order to group order.
- Before this commit, changing the order of tabs in a group would change
   the order of tabs in the tab bar on zoom-in.
 - After this commit, that continues to be the case. In addition, if you
   change the order of tabs in the tab bar, those changes will be reflected
   in the order of tabs in the group.
2010-05-03 18:05:43 -07:00
Ian Gilman
8e4da71b78 + Removed vestigial double click handler
+ New tab button animation now goes to where the tab is actually going to arrive
+ Giving a little more space at the bottom of groups so tabs overlap the new tab button
+ Fixed issue with tab reconnection on startup
2010-05-03 17:11:44 -07:00
Ian Gilman
82fe48592b + merge 2010-05-03 15:32:43 -07:00
Ian Gilman
a03e476618 + Tabs dropped on stacks now appear on top
+ Misc fixes
+ We now show chrome tabs (but not the tab candy tab)
+ When the browser first starts up, it takes it a while for the tabs to all get their correct URLs; we now properly deal with this when reconnecting them to their groups
+ Added a "dev" menu in the upper left for various debugging features. Nothing much there so far
2010-05-03 15:32:11 -07:00
Aza Raskin
92b7dd395f + Added a first-pass at a new-tab interface for groups.
+ TODOs (see the code)
 + (1) There is a potential race condition groups.js:line 121
 + (2) The new tab animation is to the wrong place groups.js:line 96
2010-05-03 15:24:22 -07:00
Aza Raskin
650ed216f9 + Removed more Toolbar button code (it is no longer needed given that we are showing tabs)
+ The activated group is now set when you open a stacked tray's overlay. This means that new tabs go in the right spot for stacked groups.
2010-05-01 00:21:15 -07:00
Aza Raskin
4a9d7ef349 +Styling for groups to make it less apple-like 2010-04-30 17:26:28 -07:00
Ian Gilman
89723d2a2c + Fixed a bug making it so you couldn't close tabs that were just .mov
+ Commented out the _render routine in toolbar-button.js,  as it was throwing exceptions and didn't seem to work anyway
+ Added some asserts to Item and cleaned up its documentation
+ Made Utils.assert more robust
+ Made tabs prettier when stacked
+ Commented out js lint, which doesn't seem to work in this context
+ Fixed it so you can't resize locked groups
+ Made it so the "new tabs" group is no longer locked (for the time being at least)
+ Tabs no longer change order when you drag their groups around
+ The tray now goes away more beautifully
+ You now have to drag at least 100 pixels and at least 500 milliseconds before a tab is pulled out its tray
+ No longer reserving space at the bottom of the screen for the "new tabs" group
+ Tab titles now go away when stacked and come back when not (there was a problem with them coming back)
+ No longer explicitly positioning the "new tabs" group
2010-04-30 17:24:03 -07:00
Aza Raskin
8e2f4638c6 + Visual cleanup:
+ Page names are no longer visible when in stacks
 + Page names have been prettified when in the stack tray.
 + TODO: Page names don't seem to come back after a group is turned into a stack, and then unstacked.
2010-04-29 00:42:37 -07:00
Aza Raskin
5e96413c12 This is a feel update.
+ Created a new easing function called "tabcandyBounce" (which will soon be all the rage in the underground dance clubs fo Europe).
+ tabcandyBounce is the kind of easing function that gentle overshoots the ends and then bounces back, giving a human feel.
+ tabcandyBounce feels faster than it actually is :)
+ The new easing function is now used for most animations.
2010-04-28 20:12:34 -07:00
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