Commit Graph

54 Commits

Author SHA1 Message Date
Ian Gilman
69db4373bc + Now marshaling all Tabs events from the chrome thread to the dom thread (we're doing this when we receive them, not when Tabs sends them)
+ Fixed problem with bookmark bar not coming back after quitting Tab Candy
+ Straight jpg tabs now work (i.e. the reddit bug is fixed)
2010-05-17 16:55:05 -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
3430d0e39b + Fixed tab escapees bug
+ If you click on a link in another app, the tab bar now does the right thing
2010-05-14 15:58:55 -07:00
Ian Gilman
22d901a8ba + applied Dietrich's second patch; Listing candies (on the home page) now works in both 3.6 and minefield 2010-05-13 15:38:10 -07:00
Ian Gilman
aacc45b0bd + Fixed: Quit Firefox with TabCandy open then open Firefox again. Your tabs and and navbar get hidden.
+ Fixed: If you quit tab candy (but not the browser), all of the tabs need to be reshown.
+ Starting firefox with tab candy selected now hides the tab bar
+ Utils.activeTab now returns a Tabs tab, rather than a raw tab
2010-05-13 15:14:08 -07:00
Ian Gilman
6fa25a7011 + patch from Dietrich to get Tab Candy running in Minefield (disables listing of candies) 2010-05-13 10:37:50 -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
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
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
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
d89e770eac + 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
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
600f65520e + Added Math.tanh by way of utils
+ Added a minimum and maximum scale
2010-04-28 13:17:43 -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
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
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
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@host-3-23.mv.mozilla.com
f3a53e7397 Merge with the docs. 2010-04-08 17:39:00 -07:00
aza@host-3-23.mv.mozilla.com
562d1e7d86 Begun adding a new theme, by Sean Martell. 2010-04-08 17:38:06 -07:00
Ian Gilman
dac099a53e + Put Natural Docs (http://www.naturaldocs.org/) -friendly comments in items.js
+ Added a doc folder that contains generated documentation
+ Now pointing to the doc folder from the Tab Candy home page
+ The Tab Candy home page is now accessible from the Candy drop-down
2010-04-08 16:36:11 -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
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
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
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
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
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
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
Ian Gilman
75b7f02e20 + moved a number of the group-related styles into css/shared/groups.css. Unfortunately, I wasn't able to move everything I wanted to; Firefox 3.7 screwed up the relative URL in the resizer style, and somehow killed the position:absolute in close style (neither of those problems showed up in Firefox 3.6). At any rate, it's a step in the right direction.
+ Moved the pretty new group title bar into the original and ian1 candies, updating the close style so it works in both the tab and group contexts
+ Added forceCanvasSize and unforceCanvasSize functions to tab mirrors
+ Used the new canvas size forcing functions to make the zoom in and out happen in high resolution. Not convinced it's an improvement, especially in the reverse zoom.
+ Brought additional changes from the original candy to the ian1 candy
2010-03-22 17:12:32 -07:00
aza@More-Better-Internet.local
a863dfd0ea Added Tabs.onFocus back into tabs.js 2010-03-19 15:21:12 -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
b501b31c12 Merge. 2010-03-16 22:32:05 -07:00
aza@More-Better-Internet.local
76f57ff6c3 Adds Utils.ilog(...) for "interactive log".
The first time you use the function, it embeds Firebug Lite and then uses that console. This makes it easy to introspect objects, etc. All-around good stuff.
2010-03-16 22:25:00 -07:00
Ian Gilman
bd1bf6bcb9 + More major cleanup in mirror.js (especially in the painting code)
+ New tabs in the stacks candy now find an empty hole rather than piling up at the top
+ The stacks candy now has a "site" feature (upper right) that groups the tabs by domain
+ TabMirror now has a feature to allow pausing paint updates. This allows you to fly things around the screen without getting stutter from paint calls. The stacks candy is currently the only candy that takes advantage of this.
+ The stacks candy was not visually deselecting a group that had been lassoed once the menu went away; it is now.
+ Added assert() to Utils
2010-03-15 17:15:27 -07:00
Ian Gilman
2268678298 + Took out old paint throttling (which may have been causing more trouble than good) in prep for new paint throttling (some of which is already in) 2010-03-12 10:04:03 -08:00
Ian Gilman
530565c944 + Added getMilliseconds() to Utils
+ Utils.error() now identifies the error as coming from tabcandy
+ Added a getMilliseconds() to mirror.js (for some reason, it wasn't liking the one in Utils) to replace the use of new Date(), which doesn't work in all situations
+ Added a heartbeat to TabMirror, where all painting happens now. This allows us to control when and how frequently painting happens, throttling when there are a lot of items on the screen.
+ Additional clean-up in TabMirror
2010-03-11 16:14:50 -08:00
Ian Gilman
0933282af3 + debugging paint issues 2010-03-09 17:15:01 -08:00
Ian Gilman
6312dbb70b + Grouping now works in the original candy
+ Updated to jQuery 1.4.2
+ Nice menu fadeout behavior in the stacks candy (fades out faster for a click than a mouse out; pops back in if you mouse back over while it's fading out)
2010-03-09 15:46:39 -08:00
Ian Gilman
1b1a4d59d1 + Added a "close" feature to the group menu in the stacks candy
+ Added a tab() feature to window.Tabs, to get a tab object from one of the tab's elements
+ Stacks now pile up directly on top of each other in the stacks candy (rather than being offset a little)
+ Added Utils.isRightClick() for weeding out right clicks in mousedown
+ The Lasso now only starts for left clicks, not both left or right
2010-03-09 14:21:08 -08:00
Ian Gilman
81242b5bf1 + Just debugging (adding logging) 2010-03-05 17:21:38 -08:00
Ian Gilman
8f5edff379 + Major reorg: moved all visualizations into "candies" folder, moved core js files into "core" folder, and js files shared by a couple of visualizations into "shared" folder
+ the top level index.html now automatically grabs all the different visualizations and lists them
+ Added a visualization switcher that can be dropped into any visualization; drop down in the upper left of the window
+ The Utils routines log(), trace() and error() now take in any number of parameters. If a parameter is an object, its first level is automatically expanded
+ Fixed lasso in the "original" visualization

--HG--
rename : browser/base/content/tabcandy/jquery-ui.js => browser/base/content/tabcandy/app/jquery-ui.js
rename : browser/base/content/tabcandy/jquery.js => browser/base/content/tabcandy/core/jquery.js
rename : browser/base/content/tabcandy/app/jquery.lasso.js => browser/base/content/tabcandy/shared/jquery.lasso.js
rename : content/ian1/index.html => content/candies/ian1/index.html
rename : content/ian1/ui.js => content/candies/ian1/js/ui.js
rename : content/line/index.html => content/candies/line/index.html
rename : content/line/js/jquery.line.js => content/candies/line/js/jquery.line.js
rename : content/line/js/jquery.select.js => content/candies/line/js/jquery.select.js
rename : content/tab.html => content/candies/original/index.html
rename : content/select/index.html => content/candies/select/index.html
rename : content/stacks/index.html => content/candies/stacks/index.html
rename : content/stacks/js/jquery.select.js => content/candies/stacks/js/jquery.select.js
rename : content/stacks/js/ui.js => content/candies/stacks/js/ui.js
2010-03-05 15:14:10 -08:00