Commit Graph

264 Commits

Author SHA1 Message Date
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
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
Paul O’Shannessy
3960de83ae Bug 566659 - Newly opened tabs do not appear in the TabCandy interface on Trunk 2010-05-18 14:00:54 -07:00
Ian Gilman
1b96351cab + You must now drag a tab a minimum distance to collapse the tray and remove the tab from the group 2010-05-18 12:03:44 -07:00
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
354fe9c5e5 + merge 2010-05-17 13:30:16 -07:00
Ian Gilman
4d53e42a3e + fixed potential issue with Aza's recent change to Group.remove
+ Removed erroneous and evidently unnecessary reference to the acceptsDrop class in DragInfo.stop
+ Fixed my last name in install.rdf
2010-05-17 13:29:39 -07:00
Aza Raskin
63f2d4aea1 + Backed out my snap code. 2010-05-17 16:20:51 -04:00
Aza Raskin
8cbbf5df4f + First pass at a snap-to functionality for groups
- The jQuery UI's draggable snap-to just wasn't specific enough for our use case
+ TODO: Need to add the snap ability to resizing groups
2010-05-16 11:30:45 -07:00
Aza Raskin
4a63b3d873 + Fixed the following bug: If there's one tab in a group and you drag it out, the group will go away right away. If you drag back over it while it's fading out, you can get the red glow stuck on. At any rate, probably shouldn't delete the group until you've dropped the tab. 2010-05-15 16:53:55 -07:00
Aza Raskin
6b2303e4cd + Updated the hover-state for dropping a tab into a group: * [P] The indication that you are dropping a tab onto a group should not be on the tab, but on the group.[Aza]
+ Made the focus ring slightly prettier.
2010-05-14 22:50:12 -07:00
Aza Raskin
ba17afd90d + Same thing as the last commit but for arrow keys 2010-05-14 17:24:26 -07:00
Aza Raskin
65d5178b39 + Fixed a bug whereby hitting return in the group name would zoom in on the selected tab. 2010-05-14 17:23:21 -07:00
Ian Gilman
da4cabce8e + Removed uservoice, which was causing "new tab" groups to multiply
+ Yet another escapees fix
+ Documentation update
2010-05-14 17:11:42 -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
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
Ian Gilman
a3034dfb65 + Refactored DragInfo.start into the constructor where it belongs
+ Dragging a group now selects a tab in the group
+ Added some snarky comments (as well as some legitimate documentation)
2010-05-13 15:57:30 -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
2023d2bb74 + mergetacular 2010-05-13 15:14:46 -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
Aza Raskin
7efe4f36b9 + Dragging a tab now causes it to become the focused tab.
+ Hitting return in a name field no longer causes the focused tab to zoom in
2010-05-13 14:11:31 -07:00
Aza Raskin
89fc80f24b + Made the dev menu less visually intrusive and more self descriptive 2010-05-13 13:56:54 -07:00
Ian Gilman
a5d9e825be + If you close the selected tab, we now set the selected tab variable to null 2010-05-13 11:21:14 -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
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
f2b4c017bc + You can now drag a group by its title. If you click on the title instead, it selects the whole title (which, it turns out, it was doing anyway) and allows you to edit it.
+ Reenabled the ability to exit title editing by clicking in empty space
2010-05-10 17:17:48 -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
3ab382936f + added a =, fixing a problem with returning from a tab in a stacked group 2010-05-10 09:43:34 -07:00
Aza Raskin
b6132e4947 + Merge 2010-05-08 21:16:25 -07:00
Aza Raskin
e2342401b3 + Recommiting changes that got lost. 2010-05-08 21:11:57 -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
0e397248d5 + Fixed a bug where closing the last tab in an un-named group would deposit you on a random tab. 2010-05-06 18:10:18 -07:00
Ian Gilman
2c18390f22 + merge 2010-05-06 17:13:51 -07:00
Ian Gilman
6767f35c41 + Removed tab bar control
+ Group title box now grows when you type into it, but always stays smaller than the width of the group
2010-05-06 17:01:53 -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
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
52f82b8f20 + When coming back from a tab, the tabs in the group are rearranged visually (to match the new order in memory) if you've moved the tabs around in the tab bar 2010-05-04 17:13: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
Aza Raskin
092367501d + Added reverse-syncing of tab ordering: from tab bar order to group order.
- Before this commit, changing the order of tabs in a group would change
   the order of tabs in the tab bar on zoom-in.
 - After this commit, that continues to be the case. In addition, if you
   change the order of tabs in the tab bar, those changes will be reflected
   in the order of tabs in the group.
2010-05-03 18:05:43 -07:00
Ian Gilman
bbc0db3ce9 + merge 2010-05-03 17:12:20 -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
Aza Raskin
9728d5ae88 + Added some code that, when you zoom into a group, moves all of the tabs to the end of the tabstrip (in the order which they appear in the group). This does two things:
(1) It means that the tabs are shown in the order which they appear in the group. Keeps the mental model clean.
 (2) When you close a tab, the next tab that is focused is sane (i.e., it is in the group not some random tab)
2010-05-03 16:48:10 -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
Aza Raskin
650ed216f9 + Removed more Toolbar button code (it is no longer needed given that we are showing tabs)
+ The activated group is now set when you open a stacked tray's overlay. This means that new tabs go in the right spot for stacked groups.
2010-05-01 00:21:15 -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
Aza Raskin
4a9d7ef349 +Styling for groups to make it less apple-like 2010-04-30 17:26:28 -07:00