From: Damyan Ivanov Date: Tue, 6 Apr 2010 10:39:24 +0000 (+0300) Subject: move extension content to content/ X-Git-Tag: 1.1~9 X-Git-Url: https://git.ktnx.net/?a=commitdiff_plain;h=b3a0ffe87f19260ceaa14c539659af12569bd5f3;p=icedeb.git move extension content to content/ --- diff --git a/chrome.manifest b/chrome.manifest index b5e1f7c..e7f0263 100644 --- a/chrome.manifest +++ b/chrome.manifest @@ -1,4 +1,4 @@ -content icedeb chrome/ +content icedeb chrome/content/ style chrome://global/content/customizeToolbar.xul chrome://icedeb/content/icedeb.css # Firefox diff --git a/chrome/content/icedeb-bts.png b/chrome/content/icedeb-bts.png new file mode 100644 index 0000000..5f4b36f Binary files /dev/null and b/chrome/content/icedeb-bts.png differ diff --git a/chrome/content/icedeb-deb.png b/chrome/content/icedeb-deb.png new file mode 100644 index 0000000..e349c6e Binary files /dev/null and b/chrome/content/icedeb-deb.png differ diff --git a/chrome/content/icedeb-pts.png b/chrome/content/icedeb-pts.png new file mode 100644 index 0000000..c24902f Binary files /dev/null and b/chrome/content/icedeb-pts.png differ diff --git a/chrome/content/icedeb.css b/chrome/content/icedeb.css new file mode 100644 index 0000000..08e60dd --- /dev/null +++ b/chrome/content/icedeb.css @@ -0,0 +1,18 @@ +#icedeb-bts, +#wrapper-icedeb-bts +{list-style-image: url("chrome://icedeb/content/icedeb-bts.png");} + +#icedeb-pts, +#wrapper-icedeb-pts +{list-style-image: url("chrome://icedeb/content/icedeb-pts.png");} + +#icedeb-deb, +#wrapper-icedeb-deb +{list-style-image: url("chrome://icedeb/content/icedeb-deb.png");} + +/* common style for all custom buttons */ +.icedeb-button +{-moz-image-region: rect( 0px 24px 24px 0px);} + +[iconsize="small"] .icedeb-button +{-moz-image-region: rect( 0px 40px 16px 24px);} diff --git a/chrome/content/icedeb.js b/chrome/content/icedeb.js new file mode 100644 index 0000000..3a08f11 --- /dev/null +++ b/chrome/content/icedeb.js @@ -0,0 +1,110 @@ +function getClipboardText() { + var clip = Components.classes['@mozilla.org/widget/clipboard;1'] + .getService(Components.interfaces.nsIClipboard); + if (!clip) return null; + + var trans = Components.classes['@mozilla.org/widget/transferable;1'] + .createInstance(Components.interfaces.nsITransferable); + if (!trans) return null; + + trans.addDataFlavor("text/unicode"); + clip.getData(trans, + clip.supportsSelectionClipboard() + ? clip.kSelectionClipboard + : clip.kGlobalClipboard + ); + + var str = new Object; + var strLength = new Object; + trans.getTransferData("text/unicode", str, strLength); + + var text = null; + + if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString); + if (str) text = str.data.substring(0, strLength.value / 2); + + return text; +} + +function trim_keyword(word) { + if (!word) return word; + + var oldword; + do { + oldword = word; + + word = word.replace(/^\s+/, ''); + word = word.replace(/\s+$/, ''); + word = word.replace(/^#/, ''); + word = word.replace(/[-:\/,.]$/, ''); + } while ( oldword != word ); + + return word; +} + +function lookup_bts(in_new) { + var bug = trim_keyword(getClipboardText()); + if (!bug) return null; + var uri="http://bugs.debian.org/" + bug; + + if (in_new) { + var b = getBrowser(); + var new_tab = b.addTab(uri); + b.selectedTab = new_tab; + } + else { + loadURI(uri); + } +} + +function lookup_pts(in_new) { + var pkg = trim_keyword(getClipboardText()); + if (!pkg) return null; + var uri="http://packages.qa.debian.org/" + pkg; + + if (in_new) { + var b = getBrowser(); + var new_tab = b.addTab(uri); + b.selectedTab = new_tab; + } + else { + loadURI(uri); + } +} + +function lookup_deb(in_new) { + var pkg = trim_keyword(getClipboardText()); + if (!pkg) return null; + var uri="http://packages.debian.org/" + pkg; + + if (in_new) { + var b = getBrowser(); + var new_tab = b.addTab(uri); + b.selectedTab = new_tab; + } + else { + loadURI(uri); + } +} + +Debian = { + btsButton: function (e) { + if ( e.button == 0 ) + lookup_bts(false) + else if ( e.button == 1 ) + lookup_bts(true); + }, + ptsButton: function (e) { + if ( e.button == 0 ) + lookup_pts(false) + else if ( e.button == 1 ) + lookup_pts(true); + }, + debButton: function (e) { + if ( e.button == 0 ) + lookup_deb(false) + else if ( e.button == 1 ) + lookup_deb(true); + } +} + diff --git a/chrome/content/icedeb.xul b/chrome/content/icedeb.xul new file mode 100644 index 0000000..04bb0dd --- /dev/null +++ b/chrome/content/icedeb.xul @@ -0,0 +1,43 @@ + + + + + + +