dadler / thumbnail-zoom

Thumbnail Zoom Plus is a Firefox plug-in which shows a full-size image pop-up when you hover over a thumbnail or image link. When you hover your mouse over a thumbnail or an image or video link, the add-on displays the full-size image or video still-frame in a floating window. Supported sites include Amazon, Bing, Facebook, Flickr, Google, IMDb, LinkedIn, Netflix, Pinterest, Reddit, Tumblr, Twitter, Yandex.ru, YouTube, Wikipedia, WordPress, Yahoo Images, and many more.
30 stars 7 forks source link

This git repository holds the source code for Thumbnail Zoom Plus, which is David Adler's fork of the Thumbnail Zoom add-on for Mozilla Firefox.

Thumbnail Zoom Plus is a Firefox plug-in which shows a full-size image pop-up when you hover over a thumbnail or image link.

When you hover your mouse over a thumbnail or an image or video link, the add-on displays the full-size image or video still-frame in a floating window.

The image remains visible until you move the mouse outside the thumb, click the mouse, or press Escape. It's quick and easy to move the mouse from one thumbnail to another to see the corresponding full-size images.

Supported sites include Amazon, Bing, Facebook, Flickr, Google, IMDb, LinkedIn, Netflix, Pinterest, Reddit, Tumblr, Twitter, Yandex.ru, YouTube, Wikipedia, WordPress, Yahoo Images, and many more.

For more information see our official site:

http://thumbnailzoomplus.wordpress.com/

or Facebook:

https://www.facebook.com/thumbnailzoomplus

You can install this add-on from the official Firefox Add-on site:

https://addons.mozilla.org/en-US/firefox/addon/thumbnail-zoom-plus/

Source code and our issue tracker are on github:

https://github.com/dadler/thumbnail-zoom/

Tips for developers:

DEVELOPMENT ENVIRONMENT:

For general info about developing plug-ins see https://developer.mozilla.org/en/Building_an_Extension

For tips on setting up your dev environment see https://developer.mozilla.org/en/Setting_up_extension_development_environment

If you're using the Restartless Restart add-on, also turn on Disable Fastload in its preferences.

In my developer profile in Firefox, I create a pointer file as follows on OSX:

cd "$HOME/Library/Application Support/Firefox/Profiles/"*"/extensions/" rm -f thumbnailZoom@dadler.github.com.xpi echo $HOME/Documents/p/ff-addons/tzp/thumbnail-zoom/src > thumbnailZoom@dadler.github.com

where $HOME/doc_no_sync/projects/thumbnail-zoom/thumbnail-zoom is the location of my git repository.

On Windows the file is in e.g. %APPDATA%\Roaming\Mozilla\Firefox\Profiles\xb77d54w.default\extensions\ and might contain for example "\VBOXSVR\src" (without the quotes)

With this pointer in place, to test a change I simply save my source file and restart Firefox (running my developer profile regular than my regular user profile).

NOTE: if you install the plug-in into this profile using an xpi file, firefox may remove the pointer file.

DEBUGGING:

To enable debug logging, set enableDebug in common.js. See comments there for the location of the log.txt file. Messages are logged with calls like this: this._logger.debug("getPageConstantByDoc");

TESTING:

See src/test/TestCases.html.

FIREFOX REGRESSIONS:

When testing to see what version of Firefox broke TZP, use mozregression.

For regressions on nightly release dates:

mozregression -g 2015-01-02 -b 2015-05-15 -p "/Users/dadler/Library/Application Support/Firefox/Profiles/p0976zws.default"

For regressions on release numbers: mozregression --good-release 37 -b 2015-03-01 -p "/Users/dadler/Library/Application Support/Firefox/Profiles/p0976zws.default"

To test with an add-on and remembered tabs, use -p to specify a profile. The script seems to reset the profile after each run, so BEFORE RUNNING DUPLICATE THE PROFILE TO A BACKUP COPY. When mozregression tries to start the next run, let it fail (due to the previous firefox still running). Quit the previous firefox, remove the profile, copy the backup profile to the real profile name. Then manually start firefox from the path output by mozregression. If it starts with I10N on, turn it off.

MAKING AN INSTALLABLE XPI FILE:

Make an installable xpi file like this: cd /Users/dadler/doc_no_sync/projects/thumbnail-zoom/thumbnail-zoom/src make

That will create ImageZoom.xpi in ../bin/ . To install it in a running session of Firefox, drag-and-drop the xpi file onto the Firefox window. It'll prompt you to install it, and will offer to restart Firefox so the change can take effect. An alternative to drag-and-drop is to go to the Firefox Add-ons window and do "Instal Add-on From File" from the gear icon menu.