Commit Graph

5839 Commits

Author SHA1 Message Date
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
Jim Mathies
d7d74e294e Bug 574821 - Add titlebar margin to browser-aero css for maximized windows - addresses issue with negative window origins on windows. r=Dao. 2010-06-28 01:03:47 -05: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
Dão Gottwald
1915c7b274 Bug 571871 - Hovering "Print" menuitem shows black on blue instead of white on blue. r=gavin 2010-06-27 16:00:14 +02:00
Marco Bonardo
bf7710e5ed Bug 574708 - Deformed back button when bookmarks button is on navigation bar. r=dao 2010-06-26 18:24:03 +02:00
Marco Bonardo
c4e3b1d766 Bug 574708 - bookmarks button looks ugly if not in icon mode. r=dao 2010-06-26 18:22:20 +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
Dão Gottwald
7c92a7650d Bug 574434 - Move Firefox button to the left of the tabstrip when not using aero glass. r=gavin 2010-06-25 22:41:04 +02: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
Jono S Xia
3b0593510b Update Feedback image urls, no bug. r=dtownsend 2010-06-25 11:14:11 -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
Aza Raskin
605da82949 + Merge. Like a car onto a oneway street. The wrong direction. 2010-05-27 17:28:45 -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
050d61a65e + Removed an old unused image. 2010-05-27 17:24:38 -07:00
Aza Raskin
c85738d1c1 + Compressed default.png 2010-05-27 17:23:08 -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
e51a8ff409 + merge 2010-05-25 17:05:22 -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
Aza Raskin
a479d19918 + Added UserVoice back to TabCandy, but this time without pulling in untrusted code from the web into a privledged context.
+ UserVoice now links from a button near the bottom of the screen. Styled with CSS3 goodness.
2010-05-25 15:04:46 -07:00
Aza Raskin
5e0fd5f6e8 + Remove the title of the "New Tabs" at the suggestion of Beltzner
+ Made the titles more beautiful in the new tabs group.
2010-05-25 14:21:23 -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
6d0ebf474f + Groups now have gentle drop shadows. 2010-05-21 20:06:37 -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
7d9d21ee0d + merge 2010-05-13 11:21:52 -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
Aza Raskin
511bc74930 + The Merge Dirge 2010-05-13 11:01:11 -07:00
Aza Raskin
477fc72536 + Removed the code that drew into the toolbar button (no longer needed)
+ Changed the button image to not include a circle with a one in it
2010-05-13 11:00:44 -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
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
8e2f4638c6 + Visual cleanup:
+ Page names are no longer visible when in stacks
 + Page names have been prettified when in the stack tray.
 + TODO: Page names don't seem to come back after a group is turned into a stack, and then unstacked.
2010-04-29 00:42:37 -07:00
Aza Raskin
5e96413c12 This is a feel update.
+ Created a new easing function called "tabcandyBounce" (which will soon be all the rage in the underground dance clubs fo Europe).
+ tabcandyBounce is the kind of easing function that gentle overshoots the ends and then bounces back, giving a human feel.
+ tabcandyBounce feels faster than it actually is :)
+ The new easing function is now used for most animations.
2010-04-28 20:12:34 -07:00
Ian Gilman
7fcdbe0da5 + merge 2010-04-28 17:18:24 -07:00
Ian Gilman
be7ec21618 + Stacks now expand into a special "tray"
+ You can now once again rename groups
2010-04-28 17:18:02 -07:00
Aza Raskin
6b138766fa + Groups now keep the concept of which group is "active"
+ When you open a new tab in an active group, that new tab belongs to the active group.
+ Made the New Tabs area much smaller.
2010-04-28 16:39:15 -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
fe2a93f8b1 + merge 2010-04-27 16:30:15 -07:00
Ian Gilman
0fd506d838 + First version of stacks
+ Cleaned up issues with algorithm for choosing where to position a tab dropped into a group
+ You can no longer drag a tab or group around by its close box
+ Changed tab drop tolerance… tabs now just need to overlap 50% in order to group. This is to make it consistent with dropping a tab on an existing group, which already behaved this way
+ A single tab in a group will no longer fill the entire group
2010-04-27 16:11:49 -07:00
Aza Raskin
ff9182c0b3 An experimental idea that makes that tabbar show only items in your current group. 2010-04-27 15:31:20 -07:00
Ian Gilman
02aad3a293 + squishing no longer forces groups into tab aspect ratio
+ user-set sizes are now respected when unsquishing
2010-04-26 17:23:15 -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
94ee161a69 + Now reconnecting tabs with groups
+ Groups now have unique ids
+ Items now have a "parent" property (instead of $(this.container).data('group'))
+ Group.add now accepts Item objects rather than just jQuery objects
+ Fixed several cold start issues
2010-04-26 13:37:39 -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
b73910fa14 + We're now storing data in a file named after your candy, in a folder named 'tabcandy' inside your profile folder (e.g. tabcandy/revision-a.json). Currently the only data that's round-tripped is whether you have hidden the tab bar, but we are saving group data out (just not reading it yet).
+ The nav bar wasn't successfully hiding when first starting the browser; fixed.
2010-04-22 17:19:42 -07:00
Ian Gilman
9854addfd4 + merge 2010-04-22 14:27:18 -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
Aza Raskin
1e265b4716 + Animation when adding a page into a stack
+ Make sure stack overlays are shown inside the window.
2010-04-22 16:13:19 -04:00
Aza Raskin
830b02ada1 More updates to stacking inside of zoomgroups.
+ It works now!
+ Shrink a group to a pile and then click on the stack.
+ The group opens in an overlay.
+ Moving your cursor outside the group makes it animate back into the stack.
2010-04-22 15:51:48 -04:00
Aza Raskin
3cd419c6fd First pass at an implementation of stacks.
+ In Zoomgroups put some pages into a group, then scale it down
+ It will animate itself into a stack
+ Pull it out again and it will go back to being a zoomgroup
2010-04-22 12:38:37 -04:00
Ian Gilman
dc891cb0ec + finished locking down the "new tabs" group… can no longer be renamed or auto deleted
+ Removed potential slowdown for dragging tabs… should be the same now as it was before my "keeping groups and children in sync" fix
2010-04-21 17:27:28 -07:00
Aza Raskin
043202fa79 Cleaned up the interaction around naming a group.
+ Animation on changing the default name
+ Appropriate color changes
+ Only show the input box on hover
2010-04-21 14:12:41 -04:00
Ian Gilman
c52c71a8a5 + menu key now works
+ started locking down the "new tabs" group
+ children no longer lag when dragging a group
+ you can no longer nest groups inside of other groups (for now)
2010-04-20 16:49:55 -07:00
Ian Gilman
5ee8d661e0 + Items now has a squishMode variable you can set to one of three possible ways to deal with items getting pushed off the screen: resize the whole set, squish only the ones getting pushed off, let them get pushed off but then have them push back on when there's room 2010-04-20 15:42:06 -07:00
Ian Gilman
113e992ce0 + merge 2010-04-20 14:45:52 -07:00
Ian Gilman
c35ba4c0a7 + now with unsquish! 2010-04-20 14:45:29 -07:00
Aza Raskin
68f47fda0b Performance tweaks:
+ We pause tab mirroring/painting on zooms.
+ We remove box shadows and rounded corners on zooms. (Which, according to Shark, was costing around 10% time)
2010-04-20 16:05:07 -04:00
Ian Gilman
3275183e62 + First working version of squish 2010-04-20 11:47:54 -07:00
Aza Raskin
09772167ee + Added animation to showing/hiding the tabbar
+ More updates to the TabCandy Spec
2010-04-20 13:53:07 -04: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
Aza Raskin
d6137a02d5 Added a beautiful tabbar toggle. Woot! 2010-04-14 19:06:17 -07:00
Aza Raskin
dfca37f2d3 Updated the specification to include the stacks metaphore. 2010-04-14 17:15:38 -07:00
Ian Gilman
d54682ea3a + added the title and close box back to groups, with some basic styling
+ the "new tab" group now always lives at the bottom of the page
+ the candy switcher and the "grid" and "sites" features are now hidden by default. add ?dev=1 to the url to show them
+ the Firefox nav bar is now hidden when you're in the tab candy page
+ the starting grid now scales depending on how many tabs you have. (it is in fact sharing the arrange code that groups use for their children)
2010-04-14 17:12:06 -07:00
Aza Raskin
81e6b81193 Fixed some bugs with the badge counter. 2010-04-13 15:53:19 -07:00
Aza Raskin
c00011d05d Fixed some performance issues (?!) with the Toolbar. When I added it to tabitems.js it caused the browser to freeze up.
Instead, I added a new event listener for tab openings which updates the badge. This solves two problems at once.
2010-04-13 15:34:30 -07:00
Aza Raskin
0c7a8bffe8 Added the code to show the unread badge in the toolbar on new tab openings and hide the unread count when you visit tabcandy.
Some problems:
+ The badge only gets updated when a tab finished *loading*
2010-04-13 15:03:16 -07:00
Aza Raskin
f2f1873257 Updated toolbar-button.js:
+ Now handles being embedded both in a browser.xul context (i.e., in firefoxOverlay.xul) and a more normal content document context
+ Access the toolbar in a normal context via Toolbar.*
+ Automatic badging for unread tabs: just set Toolbar.unread += 1 or some such.
2010-04-13 14:55:51 -07:00
Aza Raskin
81220cecdf Aza sings the Merge song:
They were plentiful when from the darkness it emerged
The dark mercurial spirits singing SVN a dirge
A beast with many heads
No arms but branches in its stead
As you push into unknowns your final utterance will be "merge"

-- The only surving translation of the last song of the commited.
2010-04-12 23:16:28 -07:00
Aza Raskin
4a8cec5b6f Added a TabCandy button to the navigation toolbar on startup.
+ Clicking on it opens a tab to Revision-A
  - The tab is moved to being the first tab
  - The tab is visually hidden
  - Clicking on it again re-uses the opened tab

Some notes:
* Only styled for OSX
* We should think about loading the page in the background on startup
  so that there is no time delay when clicking on it the first time
2010-04-12 23:04:25 -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 Raskin
9af26a4f2f + Fixed the implementation of closing
+ Cleaned up the CSS styles by using background images
2010-04-10 02:16:02 -07:00
Aza Raskin
a9aa8e9e59 Now correctly sizes new tabs. 2010-04-10 01:50:04 -07:00
Aza Raskin
d27c70768f + Fixex a bug whereby the titles of pages would be hidden inside of groups. 2010-04-09 15:48:29 -07:00
aza@More-Better-Internet.local
2b6c10e7e8 + Tabs regain appropriate styling when being removed from a group. 2010-04-09 15:17:59 -07:00
aza@More-Better-Internet.local
a36b60726f + Continued cleanup of zoom code.
+ Tabs now have the correct style inside of groups.
2010-04-09 15:17:08 -07:00
aza@More-Better-Internet.local
2e81996a61 Fixed sizing issues in the new style, as well as cleaned up the zoom code. 2010-04-09 12:49:54 -07:00
aza@More-Better-Internet.local
fa48f64a49 Fixed the height of the pages. 2010-04-09 12:21:31 -07:00
Ian Gilman
0c125207f4 + Merging; looks like we had a little collision in the group DOM area 2010-04-09 10:21:12 -07:00
Ian Gilman
300cdc43a7 + The container for a Group now encompasses its whole bounds; the titlebar is within it rather than outside of it. This is a cleaner structure, and fixes some issues with the titlebar, as well as allowing us to see the red glow for when a group will be dropped into another group. There are still some issues, but I think we'll leave them until we have a visual design. 2010-04-09 10:03:51 -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
Ian Gilman
21602128cb + Reenabled the titlebar
+ Fixed the "sites" feature
+ Fixed pushAway for groups
2010-04-02 15:10:35 -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
6e6112ceb1 + merge from depot 2010-03-31 17:26:12 -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
Dan Walkowski
d219e8fe08 cleaned up drag/drop code 2010-03-31 16:16:42 -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
7abb15a948 + The Grid and Sites features now work properly 2010-03-29 17:23:35 -07:00
Ian Gilman
f83c10d252 + Group and TabItem now inherit from Item (currently the pushAway routine and isAnItem property)
+ Group._children is now an array of Items (rather than DOM elements)
+ Groups and tabs now push other items away when they're moved, and groups also do so when resized
+ The Groups object now keeps an array of groups. This is more robust than counting DOM elements, for instance when a group is fading away (you want to act like it doesn't exist, even though its DOM element is still on the screen)
+ Documented the Item interface in items.js
+ lots of miscellaneous refinements to the code
2010-03-29 16:08:48 -07:00
Ian Gilman
2f3def3f85 + Removed Group.create() and made it the constructor instead
+ Added Group to window
+ Moved window.Items into items.js
+ Moved window.TabItem into tabitems.js and added a window.TabItems, which is largely the mod routine pulled from ui.js
2010-03-29 11:55:13 -07:00
Ian Gilman
f56556d9ec + Branched the shared groups stuff into copies just for revision-a; we've got a bunch of work to do, and it's not worth trying to keep all of the other candies compatible at the moment.
+ Added jquery.lint to revision-a. Haven't caught anything yet, but seems like it could be helpful.
+ More fiddling with the resizer css

--HG--
rename : browser/themes/pinstripe/browser/tabcandy/shared/resizer.png => browser/themes/pinstripe/browser/tabcandy/resizer.png
2010-03-29 11:16:18 -07:00
Aza Raskin
43e771a74a + Made the resizer graphic URL absolute instead of relative so that it works in any candy.
+ Removed some vestigial code.
2010-03-26 14:43:58 -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
cd6d84b400 + merged aza's merge of my merge 2010-03-24 16:55: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
aza@host-7-5.mv.mozilla.com
b3577711c2 + Merged Ian's code into our local files
+ Added position-dependent additions to gropus.
2010-03-24 16:27:56 -07:00
Ian Gilman
ecae3c0688 + finally doing an old merge that's been waiting
--HG--
rename : content/candies/original/index.html => content/candies/revision-a/index.html
2010-03-24 15:00:30 -07:00
Ian Gilman
474a4b0a32 + Attempting to merge 2010-03-24 14:46:10 -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