Commit Graph

62 Commits

Author SHA1 Message Date
Ian Gilman
70bc3f688b + jQuery is completely out of the content/js files we're using in revision-a!
+ The function you give to TabMirror.customize now takes a Mirror rather than a jQuery object
+ iQ is coming along. I tried to put asserts in for all the standard functionality that's missing (and that we might not need, but that someone used to jQuery might expect). I've also been adding Natural Docs comments, to give a sense of the scope+ Got rid of TabCanvas.animate(), which we haven't used in a while.
+ No longer including switch.js, which we also haven't used in a while
2010-05-26 17:04:56 -07:00
Aza Raskin
cbdfc9c868 + Groups now track their last-focused tab. When you click on the group, it brings you back to the group with the appropriate tab focused. 2010-05-25 19:18:25 -07:00
Ian Gilman
978c93c328 + Started iQ, replacement for jQuery
+ Converted Utils.js to use iQ instead of jQuery
+ Removed the use of Firebug lite
+ Removed reference to jQuery.lint
2010-05-25 17:04:59 -07:00
Ian Gilman
9a28d8cd19 + Lots of cleanup after the sessionstore transplant
+ Now saving pageBounds.
+ Removed some unnecessary save calls and added some necessary ones
+ Added a reset command to the dev menu; wipes storage and refreshes
+ Fixed the save command on the dev menu so it now works again
+ Reconnected storage sanity checks
+ Removed a bunch of now unused storage code
+ Fixed a problem with cold start
+ Removed a bunch of logging code
+ Pulled BrowserWatcher out of tabs.js
+ Added a direct link to the code documentation to the dev menu
2010-05-24 14:49:03 -07:00
Ian Gilman
7cf963665c + Applied Ehsan's sessionstore patch
+ Various related fixes
+ Added Utils.log2, which logs directly to the window
2010-05-21 15:44:15 -07:00
Ian Gilman
a8c8eef11b + fixed: if you quit firefox with tab candy present, and more than one window open, when you restart, everything will be broken
+ massaged the whole start up sequence
2010-05-19 16:35:54 -07:00
Ian Gilman
409610bcf3 + Feature: When returning from a tab that is in a stack, arrange it at the top of the stack (but don't change its order in the children list)
+ TabItems now keeps track of all TabItem objects manually; we were using $('.tab:visible'), but this was causing bizarre behavior in certain cases
2010-05-18 17:08:45 -07:00
Ian Gilman
1fbcbd3755 + fixed a bug causing you to have to hit the close box twice on a group to close it (once to close all of its tabs, a second time to close the group)
+ built new xpi
+ tagged as 3.0.rc2
2010-05-17 16:04:36 -07:00
Ian Gilman
0ea3b91ce0 + misc documentation fixes
+ Fixed: Quit Firefox and relaunch. You'll reopen with that tab, but the tab bar doesn't have its tab limited to the containing group. It should limit them.
2010-05-13 17:24:37 -07:00
Aza Raskin
67bd31a53c + Working on edge-cases for keyboarding around TabCandy
+ Works better with stacks (but not all the way, yet)
2010-05-12 20:31:51 -07:00
Aza Raskin
4201bb2953 + 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
91317331e1 + 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
1004e2f203 + 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
f3a93e0c85 + 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
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
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
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
1de9143329 Updated a comment. 2010-05-04 15:58:29 -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
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
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
Aza Raskin
600f65520e + Added Math.tanh by way of utils
+ Added a minimum and maximum scale
2010-04-28 13:17:43 -07:00
Ian Gilman
fe2a93f8b1 + merge 2010-04-27 16:30: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
Aza Raskin
ff9182c0b3 An experimental idea that makes that tabbar show only items in your current group. 2010-04-27 15:31:20 -07:00
Ian Gilman
02aad3a293 + 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
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
c1fc86ad42 + 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
68f47fda0b Performance tweaks:
+ We pause tab mirroring/painting on zooms.
+ We remove box shadows and rounded corners on zooms. (Which, according to Shark, was costing around 10% time)
2010-04-20 16:05:07 -04:00
Ian Gilman
3275183e62 + First working version of squish 2010-04-20 11:47:54 -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
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
Aza Raskin
c00011d05d Fixed some performance issues (?!) with the Toolbar. When I added it to tabitems.js it caused the browser to freeze up.
Instead, I added a new event listener for tab openings which updates the badge. This solves two problems at once.
2010-04-13 15:34:30 -07:00
Aza Raskin
0c7a8bffe8 Added the code to show the unread badge in the toolbar on new tab openings and hide the unread count when you visit tabcandy.
Some problems:
+ The badge only gets updated when a tab finished *loading*
2010-04-13 15:03:16 -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
a9aa8e9e59 Now correctly sizes new tabs. 2010-04-10 01:50:04 -07:00