Commit Graph

4084 Commits

Author SHA1 Message Date
Aza Raskin
5cd2223226 + Added the concept of the "focused" tab.
+ The last tab you were viewing is now highlighted as the focused tab.
+ You can get back to the tab you were looking at now by hitting the escape key.
+ You can navigate to the focused tab by hitting the return key.
+ You can select other tabs via the keyboard with the arrow keys.
2010-05-12 19:56:35 -07:00
Ian Gilman
6b5239dafd + Trying -moz-crisp-edges… doesn't seem to improve speed much on 3.6, and looks worse
+ Created Utils.copy to make duplicating objects cleaner
+ Fixed a number of issues with pulling tabs out of a tray. Temporarily disabled the delay on drag as well.
+ Improved the threshold for switching from grid to stack; only happens when the grid fills up.
+ No longer announcing "bad storage data" when there is in fact no storage data (fresh start)
+ A couple more asserts
2010-05-11 17:22:06 -07:00
Ian Gilman
0ab0fe4ea9 + Fixed an extremely subtle bug that would cause groups that you hadn't manually resized to start falling apart after a refresh.
+ Added sanity checks on data going to and from storage (still some work to be done there); if the check doesn't pass, the data isn't loaded/saved
+ Added a manual save option to the dev menu
+ Added Utils.isNumber, as well as standalone isRect and isPoint routines
+ Miscellaneous double checks and assertions
2010-05-11 12:03:31 -07:00
Ian Gilman
1e76126ff1 + You can now drag a group by its title. If you click on the title instead, it selects the whole title (which, it turns out, it was doing anyway) and allows you to edit it.
+ Reenabled the ability to exit title editing by clicking in empty space
2010-05-10 17:17:48 -07:00
Ian Gilman
16275481b6 + Fixed: The tab when dropped into the group is too small and place up and to the right
+ Fixed: On scale-up the tab is sometimes rotated.
+ Fixed: Sometimes on return to TabCandy the tabs are not aligned on the group.
2010-05-10 15:27:40 -07:00
Ian Gilman
ed9a8913ba + added a =, fixing a problem with returning from a tab in a stacked group 2010-05-10 09:43:34 -07:00
Aza Raskin
aec63d2099 + Merge 2010-05-08 21:16:25 -07:00
Aza Raskin
3cde38047f + Recommiting changes that got lost. 2010-05-08 21:11:57 -07:00
Ian Gilman
b649cad062 + 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
Aza Raskin
08bfaecc4d + Fixed a bug where closing the last tab in an un-named group would deposit you on a random tab. 2010-05-06 18:10:18 -07:00
Ian Gilman
241edb8ffc + merge 2010-05-06 17:13:51 -07:00
Ian Gilman
d85175456f + 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
0b1b2d8f31 + 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
32cb05549c + 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
fcdd26126c + 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
b928b79c01 + merge 2010-05-04 16:44:20 -07:00
Ian Gilman
42db2328d8 + 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
95d5fb3aa8 Updated a comment. 2010-05-04 15:58:29 -07:00
Aza Raskin
0b599c20eb 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
bfa02a5af7 + fixed aza's heisenbug having to do with creating new tabs 2010-05-04 14:55:17 -07:00
Aza Raskin
c6fccd4364 + 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
6d246d7c36 + 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
80a83acb35 + merge 2010-05-03 17:12:20 -07:00
Ian Gilman
4c57273957 + 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
Aza Raskin
63d35ff7e8 + Added some code that, when you zoom into a group, moves all of the tabs to the end of the tabstrip (in the order which they appear in the group). This does two things:
(1) It means that the tabs are shown in the order which they appear in the group. Keeps the mental model clean.
 (2) When you close a tab, the next tab that is focused is sane (i.e., it is in the group not some random tab)
2010-05-03 16:48:10 -07:00
Ian Gilman
d60fe26d4b + merge 2010-05-03 15:32:43 -07:00
Ian Gilman
7ac12b66d7 + 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
be996e7cc1 + 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
cfa1193d25 + 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
256e5bca54 + We use to show tabcandy whenever we closed any tab. We now only focus tabcandy when the last tab in a group is closed.
+ TODO: Ideally, we should have an animation of the last tab be zoomed out into the tabcandy interface, and then that tab fading away along with the group (if the group is unnamed).
2010-04-30 23:50:43 -07:00
Aza Raskin
69e2925087 +Styling for groups to make it less apple-like 2010-04-30 17:26:28 -07:00
Ian Gilman
85a7c54207 + 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
7555436b0c + 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
bd135f96c9 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
ed4d0f5799 + merge 2010-04-28 17:18:24 -07:00
Ian Gilman
9fe9bc21a6 + Stacks now expand into a special "tray"
+ You can now once again rename groups
2010-04-28 17:18:02 -07:00
Aza Raskin
c450343b54 + 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
Aza Raskin
7bb7cc4e7d + Added Math.tanh by way of utils
+ Added a minimum and maximum scale
2010-04-28 13:17:43 -07:00
Ian Gilman
293973151f + merge 2010-04-27 16:30:15 -07:00
Ian Gilman
a35d13c4d1 + 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
Aza Raskin
ee95f72260 An experimental idea that makes that tabbar show only items in your current group. 2010-04-27 15:31:20 -07:00
Ian Gilman
359c069779 + squishing no longer forces groups into tab aspect ratio
+ user-set sizes are now respected when unsquishing
2010-04-26 17:23:15 -07:00
Ian Gilman
7cf5a38d9b + 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
9c9f2b1420 + 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
b198656db7 + 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
b27e7afe65 + 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
Ian Gilman
7f8deaabc7 + merge 2010-04-22 14:27:18 -07:00
Ian Gilman
d01ed0674d + Updated Utils logging to deal gracefully with object properties you can't access (for permissions reasons, for instance)
+ Added storage.js… starting serialization
+ Disabled autoscroll on drag; the window should be locked down now
+ Fixed Aza's "cute little bug"; small tabs used to scoot up and left
2010-04-22 14:26:57 -07:00
Aza Raskin
fa726b0421 + 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
68de1ec24f 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