Commit Graph

102 Commits

Author SHA1 Message Date
Michael Yoshitaka Erlewine
d0fc5f695d just some comments to pushAway and related functions; rm legacy squishModes; pushAway now uses Trenches.gutter for margins, and respects safe window bounds 2010-06-22 19:50:37 -04:00
Ian Gilman
33f1e545e4 + In the quest to abolish reloadBounds(), I've rewritten draggable, droppable and resizable to operate on an item's bounds rather than directly on the div. I've also removed those routines from iQ, and integrated them into Item. Additional related cleanup and documentation.
+ Removed a little bit of aza debug code
+ Added size and position routines to Rect
2010-06-22 16:42:06 -07:00
Michael Yoshitaka Erlewine
742604caa6 + Range.overlaps; bugfix: border trenches unfortunately had an inappropriately large activeRange... fixed. This fixes the long-distance border-snapping which unfortunately shipped with 0.4 2010-06-21 22:32:07 -04:00
Michael Yoshitaka Erlewine
c13723d526 Rect now computes its own xRange and yRange 2010-06-19 18:47:26 -04:00
Michael Yoshitaka Erlewine
d99dee234f Range update 2010-06-19 17:37:36 -04:00
Michael Yoshitaka Erlewine
124719088a class Range 2010-06-19 16:58:51 -04:00
Ian Gilman
19713fb918 + Fixed: Bug 570089 - Dragging northwest in tabcandy area creates zero-area tab group 2010-06-18 14:42:06 -07:00
Ian Gilman
9d8648e238 + updated/added license blocks to all JavaScript files 2010-06-16 17:19:11 -07:00
Ian Gilman
2ba604b397 + removed unused code and reorged remainder 2010-06-16 15:46:05 -07:00
Ian Gilman
feff0a9435 + Cleaned up TabItem bounds getting and setting (the translation between our coordinates and the div style needs to be done carefully, in particular due to the padding in the tab style), and added a unit test for it 2010-06-15 15:55:47 -07:00
Ian Gilman
5216fa1524 + 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
c8eb4cf5e9 + New "new tabs" group behavior and position
+ New "new tab" button position for the  "new tabs" group
+ Misc bug fixes
2010-05-24 17:14:10 -07:00
Ian Gilman
ac6aa9b303 + 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
5cc48c0893 + this marks the checkin where Ian has switched to Minefield and is no longer paying attention to 3.6
+ the TabCandy button/hot key now works to make a separate TabCandy for each window
+ Fixed a number of startup issues relating to multiple tab candies running at the same time
2010-05-20 16:56:19 -07:00
Ian Gilman
6bbee5b968 + 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
484ad3e488 + 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
cf86edc503 + 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
0e4e51be66 + patch from Dietrich to get Tab Candy running in Minefield (disables listing of candies) 2010-05-13 10:37:50 -07:00
Ian Gilman
207855a456 + 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
ffba354eb3 + 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
5b300842e9 + 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
6aeb7dc566 + 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
6ba8c7860f + 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
1bde7082e5 + 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
6ac56dfa95 + 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
49d201524c + Added Math.tanh by way of utils
+ Added a minimum and maximum scale
2010-04-28 13:17:43 -07:00
Ian Gilman
010755dd60 + 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
632b510cbe + 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
66038da2c2 + 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
118f1783cd + 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
c40d196b3f + 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
947754f10b + 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
Ian Gilman
422bed4c5c + 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
23654df28d + 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
6b53b8f2f1 ZOMG MERGE. You HG Bastard. 2010-04-01 17:59:17 -07:00
Dan Walkowski
b6c23624b1 merge 2010-04-01 17:26:51 -07:00
Ian Gilman
9b3f9c82e0 + 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
86a3696b74 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
f24a774140 + 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
f8af9b8d0d + 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
a1ca195f7b + 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
2010-03-25 17:22:45 -07:00
Ian Gilman
273eaddcf9 + 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
1b205f401a + 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@More-Better-Internet.local
eae300dcb7 Merge. 2010-03-16 22:32:05 -07:00
aza@More-Better-Internet.local
df8b6b353d 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
e291b9c562 + 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
239ef9c9b9 + 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
c375d0ff7e + 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
a65cc2c1ba + Just debugging (adding logging) 2010-03-05 17:21:38 -08:00
Ian Gilman
ccc443cb59 + 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
2010-03-05 15:14:10 -08:00
Ian Gilman
e771f496b6 + Got rid of Utils.logger and replaced it with Utils.log, Utils.trace and Utils.error
+ Fixed "new tabs create 2 thumbnails" bug
2010-03-03 17:21:44 -08:00
aza@70-7-150-98.pools.spcsdns.net
c7608d3d62 First commit. 2010-02-24 01:47:55 -08:00