Commit Graph

101 Commits

Author SHA1 Message Date
Michael Yoshitaka Erlewine
aa9e3d4ae4 - moved Trench.radius to be a getter and always reflect Trenches.defaultRadius.
- moved Group._getBoundingBox to Groups.getBoundingBox; now a better algorithm which is order-independent.
- modified "drag tab onto another tab" action's phantom group computation using getBoundingBox: now a touch more realistic.
+ Item.snap, which is used to instantaneously resituate oneself into a more trench-inspired position, using wider radius trenches.
- Group constructor now runs Item.snap, so all new groups are marginally better positioned.
- correcting my foolish ways: replacing some tabs with spaces.
2010-07-03 21:13:31 -04:00
Raymond Lee
93e563c3c7 Fixed Bug 576393 - Tabs.onFocus() isn't working reliably 2010-07-02 17:28:53 +08:00
Ian Gilman
540981fd54 + Removed placebo hack from Storage.wipe()
+ Removed TabItems.reconstitute(), which we haven't actually needed for a while, but now it's also causing trouble
+ Removed Utils.activeWindow, which doesn't seem to work, and replaced its use in Utils.activeTab (the only remaining place it was being used) with Utils.getCurrentWindow(), which does seem to work
+ Utils.assert() now dumps a trace
+ Fixed paths to the edit pencil and new tab button images; they should now show up properly
2010-07-01 17:05:46 -07:00
Edward Lee
cdce020195 Merge updates to tabcandy to mozilla-central. 2010-06-28 16:18:47 -07:00
Ian Gilman
68589ba178 + Items no longer have reloadBounds; once the item is set up, we never pull location data off of the div 2010-06-28 16:11:22 -07:00
Ian Gilman
95b7cd38f1 + merge 2010-06-25 16:10:52 -07:00
Ian Gilman
d2bd3d9691 + Removed icons that exist elsewhere in the browser; now using them instead
+ Our toolbar button now uses the standard toolbar button styling; we just apply a glyph to it
+ Went through the code with http://caja.appspot.com/tools/index and fixed a number of minor issues it found
+ Added "refresh" to the dev menu (since you won't be able to just refresh the tabcandy page once it's in the xul:deck)
2010-06-25 16:00:51 -07:00
Aza Raskin
d7e757ad96 + Cleaned up the code which changes the styling of a tabitems fav icon.
- The bite still exist, it just gets smaller.
2010-06-25 15:15:51 -07:00
Aza Raskin
0b70f644f5 + Updated the spec
+ Modified the tabitem layout code so that favicons are more sensibly handled at smaller sizes.
2010-06-24 23:59:32 -07:00
Raymond Lee
c12c95019c Bug 572889 - Move TabCandy out of a tab and into a per-window xul:deck [r=iangilman]
Update code for tabCandy in xul:deck to not assume it's living in a tab and update various events and callbacks.

--HG--
extra : rebase_source : 7007f13f4e9e3ebd0eb38f91d41bccfa68b3099d
2010-06-23 17:25:34 +08:00
Michael Yoshitaka Erlewine
d4ae73a50a some edges of TabItems were not projecting trenches on startup 2010-06-22 23:45:51 -04:00
Ian Gilman
688afd22c9 + 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
4752f94d2b deprecating iQ.fn.data isDragging flag... instead, using Item.isDragging flag 2010-06-21 16:38:33 -04:00
Michael Yoshitaka Erlewine
400cd9dfac moved shared resizeOptions core into Items; move edge-snapping code out into Drag.snapToEdge; make resizeOptions invoke Drag.snap so that it can take advantage of the advances in drag-snapping technology; made snapToEdge work with resizeable rects 2010-06-19 20:45:23 -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
65e85064e7 + updated/added license blocks to all JavaScript files 2010-06-16 17:19:11 -07: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
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
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
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
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
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
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
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
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
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