Commit Graph

2261 Commits

Author SHA1 Message Date
Michael Yoshitaka Erlewine
b3b3268172 some Trench docs; using Range 2010-06-19 17:40:14 -04:00
Michael Yoshitaka Erlewine
4c071f8bd0 Range update 2010-06-19 17:37:36 -04:00
Michael Yoshitaka Erlewine
b2a3e332f5 class Range 2010-06-19 16:58:51 -04:00
Michael Yoshitaka Erlewine
30bf9cdc1e snap to the edges of the window; don't snap if the meta (command) key is being held down 2010-06-19 16:18:30 -04:00
Michael Yoshitaka Erlewine
48f161ea75 move defaultGutter into Items; defaultRadius into Trenches; now items cannot escape the window when dragged (bug 572919) 2010-06-19 16:08:14 -04:00
Michael Yoshitaka Erlewine
bc361d27b2 one more tweak for "Only snap to a trench when it is physically proximate" 2010-06-19 15:35:27 -04:00
Michael Yoshitaka Erlewine
6431e8bbec more tabs into spaces 2010-06-19 15:05:36 -04:00
Michael Yoshitaka Erlewine
9cde4b0d11 turned tabs into spaces; "Only snap to a trench when it is physically proximate" (result: http://img.skitch.com/20100619-cp6pdsbrien3phhi9rbn85jr3t.jpg); added isDragging flag to item itself 2010-06-19 14:56:07 -04:00
Ian Gilman
dafde1fa03 + Fixed: Bug 569846 - No hover help for "new tab" icons in tab group 2010-06-18 14:59:24 -07:00
Ian Gilman
67b8dee295 + merge 2010-06-18 14:42:51 -07:00
Ian Gilman
59c05bb4e5 + Fixed: Bug 570089 - Dragging northwest in tabcandy area creates zero-area tab group 2010-06-18 14:42:06 -07:00
Michael Yoshitaka Erlewine
18bac5c387 fixed bug 572888: groups resizing when stuck in trench and moved slowly 2010-06-18 00:50:42 -04:00
Aza Raskin
8f15801ccc Fixed the incorrect timing of the tray when fanning out a stacked group. 2010-06-17 17:31:03 -07:00
Ian Gilman
40432d1f5c + Fixed BugĀ 568882 - TabCandy should not reorder tabs 2010-06-17 16:38:07 -07:00
Ian Gilman
d5a59dd7d3 + groups.js is now fully documented (except for member variables) 2010-06-17 15:57:45 -07:00
Ian Gilman
6e83727250 + Moved "show trenches" to the dev menu
+ No longer messing with the tabbar order for ungrouped tabs
+ More documentation in groups.js
2010-06-17 14:52:25 -07:00
Ian Gilman
65e85064e7 + updated/added license blocks to all JavaScript files 2010-06-16 17:19:11 -07:00
Ian Gilman
b35293d149 + fixed scoping issue that caused all tabs dropped in any group to return to a single group
+ fixed a bug causing tabs in the "new tabs" group to be huge
2010-06-16 16:30:48 -07:00
Ian Gilman
9650718be6 + removed unused code and reorged remainder
--HG--
rename : browser/themes/pinstripe/browser/tabcandy/shared/candybutton.png => browser/themes/pinstripe/browser/tabcandy/candybutton.png
2010-06-16 15:46:05 -07:00
Michael Yoshitaka Erlewine
02976e5207 reverted to previous version of the trench checking algorithm 2010-06-16 00:21:34 -04:00
Michael Yoshitaka Erlewine
92ff278dcd moved to tracking trenches by id; better trench cleanup and garbage collection; refactored a bit to make things faster? but with questionable results 2010-06-16 00:08:39 -04:00
Michael Yoshitaka Erlewine
5b061bfccc new tab group should not project trenches 2010-06-15 22:27:03 -04:00
Ian Gilman
735726ec57 + fixed broken unit test 2010-06-15 17:14:41 -07:00
Ian Gilman
b2cdae5bb4 + merge 2010-06-15 16:52:30 -07:00
Ian Gilman
2b75e3834d + merge 2010-06-15 16:33:58 -07:00
Michael Yoshitaka Erlewine
ae66951d56 quick bugfix for resizing 2010-06-15 19:11:58 -04:00
Michael Yoshitaka Erlewine
ea88675f6d tabs now also project trenches; unregistering trenches on group/tab close; allow proportional resizing while snapping; preferLeft and preferTop flags for which edges to preferentially snap to 2010-06-15 19:08:21 -04:00
Ian Gilman
9e9765eb7a + 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
Michael Yoshitaka Erlewine
bc4b8a9b47 snapping for tabs as well as groups 2010-06-15 17:45:49 -04:00
Michael Yoshitaka Erlewine
55567c549e refactoring dragOptions, dropOptions 2010-06-15 17:38:55 -04:00
Ian Gilman
40dd78661c + merge 2010-06-15 13:51:24 -07:00
Ian Gilman
5b37c18c7d + tweak to how we deal with laying out small numbers of tabs in a group 2010-06-15 13:48:37 -07:00
Michael Yoshitaka Erlewine
ac1bf91ea4 quick refactoring 2010-06-15 15:26:35 -04:00
Ian Gilman
829b04df63 + mitcho's first pass at group snapping 2010-06-15 11:53:53 -07:00
Ian Gilman
68fc1810a9 + closing a named group with tabs in it now works correctly
+ changed zoom out easing back to "cubic-bezier"
2010-06-14 17:23:17 -07:00
Ian Gilman
f4b6400f47 + Hitting the "new tab" button in a group no longer first takes you to the active tab in that group
+ Fixed a couple of "null tab" errors when calling storage.js
+ Fixed a couple of zooming issues related to closing tabs while you're in them
2010-06-14 16:56:27 -07:00
Ian Gilman
01c7b6ebd7 + Refactored zoom code into TabItem (was in TabItems and Page)
+ The "zoom prep", where the div is resized behind the scenes, is now much more robust; items can be rearranged while in this state (in response to new tabs opening, for instance), and everything still works out.
+ Group._activeTab is now a TabItem rather than a DOM element
+ Most of the old "mod" routine is now in the TabItem constructor; "mod" no longer exists
2010-06-14 15:43:02 -07:00
Aza Raskin
f1d8db810e + Added code for making zoom-in faster too
+ Made the code for the speed-ups on zoom-in/zoom-out more general
2010-06-11 17:57:02 -07:00
Aza Raskin
14ffc49b4d + A clever trick to speed up the zoom-out animation.
Because image scaling is slowest on big images, we cheat and start the image
at half-size and placed accordingly. Because the animation is fast, you can't
see the difference but it feels a lot zippier. The only trick is choosing the
right animation function so that you don't see a change in percieved
animation speed from frame #1 (the tab) to frame #2 (the half-size image) to
frame #3 (the first frame of real animation). Choosing an animation that starts
fast is key.
2010-06-11 17:33:15 -07:00
Ian Gilman
e92b535ded + Now using the "front" class when zooming down (was just when zooming up), hopefully to speed things up
+ Modified the  "front" class to remove unnecessary bits from the tab, and to turn on crisp edges, hopefully to speed things up
2010-06-11 16:35:47 -07:00
Ian Gilman
6f969130e3 + documentation 2010-06-11 15:08:14 -07:00
Ian Gilman
d043869a24 + merge 2010-06-11 13:39:57 -07:00
Ian Gilman
d5fa1750f1 + Cleaned up zoom down so it starts sooner and is less chunky
+ Moved animate.html into a "workshop" folder and added a pagechange.html. This folder will go away soon enough, but for now it's a good spot to stash tests
2010-06-11 13:36:58 -07:00
Aza Raskin
8fcc97d0f7 + A work-around for supporting transitions to and from 'auto' values of left, top, width, height, etc.
+ For more details see: https://bugzilla.mozilla.org/show_bug.cgi?id=571344
2010-06-10 14:35:15 -07:00
Ian Gilman
4e92c2e969 + merge 2010-06-10 14:05:08 -07:00
Ian Gilman
b4127e8668 + Added iQ.timeout, which wraps setTimeout in try/catch. Everything uses this now 2010-06-10 12:04:39 -07:00
Aza Raskin
9c249d37c7 + Added logging to show that our timing in animations is very strange 2010-06-10 11:48:17 -07:00
Ian Gilman
4d1497d7cf + Fixed z-index issue (and added a unit test for it)
+ Fixed some of the tab sizing issues (like when returning from a tab)
2010-06-09 17:30:02 -07:00
Ian Gilman
7877491a9e + We are entirely jQuery-free in revision-a!
+ You can now drop tabs on tabs
+ Resize works once again, but with iQ
2010-06-09 14:45:48 -07:00
Ian Gilman
f461b125fa + merge 2010-06-08 17:14:40 -07:00
Ian Gilman
2bc532a9c7 + All dragging is now done with iQ
+ You can drop tabs onto groups (but no tabs on tabs yet)
+ Disabled resize for now
+ Fixed a bug with groups looking like they were deleted but not really being
2010-06-08 17:13:19 -07:00
Aza Raskin
2d2fb2c54a + Tweaked the timing function to look prettier. 2010-06-08 13:42:27 -07:00
Ian Gilman
2de111247d + documentation+ documentation+ documentation+ documentation+ documentation+ documentation+ documentation+ documentation+ documentation 2010-06-07 17:24:55 -07:00
Ian Gilman
c56484e154 + All event handlers sent into iQ.fn.bind and its aliases are now automatically wrapped in a try/catch (the catch simply does a Utils.log with the error)
+ Fixed a couple of issues found with the new event try/catch
+ Converted Group.newTab over to iQ (was the last jQuery bit besides drag/drop/resize)
2010-06-07 17:20:15 -07:00
Ian Gilman
ecb79eec3f + We're no longer using a style sheet for our CSS transitions (doing it directly in JavaScript instead)
+ Changed the iQ.fn.animate call signature: it now takes two arguments, a CSS object and an options object (with possible parameters: duration, easing and complete)
+ iQ.fn.animate now reliably calls back the completion routine (this was causing all sorts of trouble)
+ Reenabled TabMirror.pausePainting
+ Added animate.html, a test bed for playing with CSS transitions
2010-06-07 16:16:55 -07:00
Ian Gilman
12c5d78226 + Temporarily added a bunch of logging for debugging purposes (commented out)
+ Fixed a bug with iQ.fn.one that caused it to not properly set "this"
+ Temporarily disabled TabMirror.pausePainting, which is causing problems at the moment (will fix soon)
2010-06-04 16:39:33 -07:00
Ian Gilman
10209deaae + groups.js is now jQuery-free except for drag/drop/resize and the newTab routine
+ Added blur and focus event handlers to iQ
+ iQ.fn.data() now supports multi-objects
+ iQ.fn.fadeOut() now accepts a callback
2010-06-04 15:08:24 -07:00
Gavin Sharp
2df5a70892 Bug 574530: don't load PopupNotifications unnecessarily from onLocationChange, r=dao
--HG--
extra : rebase_source : 66706038d83d75b6a0808bba75bf1becdcd05670
2010-06-28 03:12:07 -04:00
DĆ£o Gottwald
fb86d46cf9 Bug 571750 - Remove keyboard shortcuts from the Firefox button menu. r=gavin 2010-06-27 16:00:50 +02:00
Timothy Nikkel
862d66fc00 Bug 571640. Part 1. Enhance synthesizeDrop to take a source element to start the drag on. r=enndeakin 2010-06-25 16:51:17 -05:00
Gavin Sharp
523e82a8a7 Bug 574230: PopupNotifications should indicate which anchor's notifications are being displayed, so that the consumer can show/hide the appropriate anchor element, r=dao
--HG--
extra : rebase_source : 8e856779d2355a5612d8bdf20c5fb75a3a88edb2
2010-06-25 12:05:45 -04:00
Ian Gilman
2b676872bd + Added hide and show to iQ
+ tabitems.js is now jQuery-free except for drag/drop/resize
+ Cleaned up usage of TabItems.getItemByTab and renamed it to getItemByTabElement to make it clearer
2010-06-04 12:34:03 -07:00
Aza Raskin
2717b78a54 + Changes the animation curve to have a little bounce. A little sway. Some feeling. Some heart. Some sooooul. Ooooh yeah.
+ Most actions now take 200ms instead of 300ms
2010-06-03 18:45:17 -07:00
Ian Gilman
abd3069dd6 + Started on iQ for tabitems.js; now using iQ for TabItem.setBounds. We're not yet supporting the tabcandy bounce animation, so the tab movement boring nowā€¦ to be fixed soon.
+ Added fadeIn and fadeOut to iQ
+ Added a simple test framework to stand in for mochitest, and gave it a couple of iQ tests
2010-06-03 17:11:13 -07:00
Ian Gilman
5fd1e12e8e + Turned off -moz-crisp-edges
+ First use of iQ.animate(), which uses CSS transitions: tab zoom up and down, as well as phantom group disappearing when you drag in empty space but don't make it big enough
+ Consolidated onFocus call of UIClass into onFocus call of Page
+ ui.js is jQuery-free
+ The zoom down animation happens after a setTimeout(ā€¦, 1), which causes an unfortunate delay, but without it, the animation doesn't happen at all
+ Added val, resize, change to iQ.fn and isAnimating to iQ
2010-06-03 15:31:18 -07:00
Aza Raskin
12f40b0c32 + Decreased the size at which groups stack
+ Fixed a bug whereby clicking on a title zoomed into the group
2010-06-02 12:29:13 -07:00
Ian Gilman
0a8d3f4cb8 + Started work on iQ animations with CSS transitions; not ready yet
+ iQ event binding works now; converted over some of the usage in ui.js
+ Additional fixes to iQ's CSS function
+ Added position() and one() to iQ, as well as a number of bind() aliases
2010-05-28 15:56:00 -07:00
Ian Gilman
fc8b4549e0 + changed more uses of Utils.activeWindow to Utils.getCurrentWindow()
+ Generalized Aza's iQ.css('-moz-transform') fix
2010-05-28 13:54:29 -07:00
Ian Gilman
1a42b69891 + removed sizzle reference from iQ.js license block, as it doesn't look like we'll be using any portion of jQuery that has sizzle (also, testing my ability to push to mozilla hg) 2010-05-28 12:20:02 -07:00
Aza Raskin
43f1ee57fd + Fixed a bug in iQ where CSS of type -moz-transform wasn't getting set.
+ Made stacks a bit prettier.
2010-05-27 19:17:01 -07:00
Ian Gilman
82431d4482 + merge 2010-05-27 17:25:41 -07:00
Ian Gilman
a84d9a920d + Items.js is now jQuery-free
+ Just a little refactor for the "reset" code (also removed from the dev menu)
+ Started on event handling for iQ
2010-05-27 17:25:14 -07:00
Aza Raskin
15c477a8a5 + Default icon when there is no favicon. 2010-05-27 17:19:45 -07:00
Aza Raskin
c08f78f95a + Fixed a bug where rescaling a group would cause a zoom-in to a tab. 2010-05-27 16:36:13 -07:00
Aza Raskin
a070ba2c41 + Made the css for debug-related buttom buttons more generic.
+ Added a more discoverable reset button.
2010-05-27 01:40:45 -07:00
Aza Raskin
1b2556cab5 + Fixed [B] Clicking on the new tab button in the new tab group causes a zoom to a tab. Clicking anywhere does the same. It shouldn't. 2010-05-27 01:31:54 -07:00
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
Ian Gilman
0de196a683 + merge 2010-05-26 11:29:46 -07:00
Ian Gilman
355afa4ce6 + Cleaned out old dev mode; everything's moved to the dev menu
+ Got rid of old dev mode grid feature; the dev menu's reset fills that bill
+ Cleaned up the "group sites" feature and added it to the dev menu
2010-05-26 11:29:31 -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
Aza Raskin
bbaae577d9 + Fixed [B] Drag a group (full of tabs) off the top of the window. Then drag the group back. All of the tabs are gone! Now resize the group. They come back. Even better; don't let groups be dragged out of the window bounds! 2010-05-25 19:00:46 -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
23e5989b43 + The first time you run TabCandy, it lays all of the tabs out in a grid (just like it used to; reinstating this feature)
+ Minor refactor for new tab button to make it more DRY
2010-05-25 11:08:50 -07:00
Aza Raskin
6d547ef19e + New visual styling for the new tab group. So very very pretty. 2010-05-25 01:20:44 -07:00
Ian Gilman
e6e06b991a + 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
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
Aza Raskin
d28ee09ab4 + The keyboard shortcuts now act as toggles. That is, pressing them twice will zoom out to TabCandy and then back in. 2010-05-24 00:37:31 -07:00
Aza Raskin
ef5e9ae2d5 + Fixed a bug wherein when dragging out a new group, you couldn't reduce it's size
+ When clicking on a stacked group, you go directly into that group. Use command-click to open it up in the shield.
2010-05-23 23:42:18 -07:00
Aza Raskin
31d0e32252 + Better indication of groups as drop targets
+ Using the new-tab buttons no longer cause a jarring shift due to window chrome appearing.
2010-05-22 11:42:23 -07:00
Aza Raskin
79169314be + Major speed improvments based around not calling resize() when animating or hiding/showing chrome. Once again, TabCandy feels fast and zippy and awesome. 2010-05-21 19:51:34 -07:00
Aza Raskin
00ea212a18 + Fixed a bug where you couldn't drag to create a group. 2010-05-21 18:08:35 -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
Aza Raskin
b9270affc6 + Made TabCandy pretty a la http://www.stephenhorlander.com/pages/incontent-ui-mockups/incontent-ui-mockups.html#tabCandy
Note that this only works on the Mac.
2010-05-21 04:05:55 -04:00
Aza Raskin
8009e34fcc + Fixed a bug whereby the navbar and tabstrip weren't being properly hidden
+ Fixed a typo where errors in onFocus weren't being logged. (When you  go back to the TabCandy from a tab, the tab strip get hidden late,  causing a jarring jump)
+ Also: fixed bug 567010
2010-05-21 03:13:53 -04:00
Ian Gilman
797197e1d4 + 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
af4689c99a + Tab Candy now only watches the window it's in. This fixes a number of issues, including some nasty ones with pop ups. This is a full fix for https://bugzilla.mozilla.org/show_bug.cgi?id=567007 and a partial fix for https://bugzilla.mozilla.org/show_bug.cgi?id=567006 2010-05-19 16:58:35 -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
2d7ca7cd82 + merge 2010-05-18 17:09:31 -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
Aza Raskin
692d1efd8a + Merged the two repos (added zpao's fixes for Minefield) 2010-05-18 17:07:42 -04:00