Difference between revisions of "User:Dtheosab"

From CDOT Wiki
Jump to: navigation, search
(About me: Project & FSOSS link added)
(Labs posted.)
Line 5: Line 5:
 
*Project: [[Radio Button Bookmarks Extension]]
 
*Project: [[Radio Button Bookmarks Extension]]
 
*FSOSS Report: [[User:Dtheosab/FSOSS_2007|FSOSS 2007]]
 
*FSOSS Report: [[User:Dtheosab/FSOSS_2007|FSOSS 2007]]
 +
 +
 +
=Labs=
 +
==Modifying the Browser Lab Part I==
 +
*This patch will make the new tab to be opened next to the current tab.
 +
<pre>
 +
Index: tabbrowser.xml
 +
===================================================================
 +
RCS file: /cvsroot/mozilla/browser/base/content/tabbrowser.xml,v
 +
retrieving revision 1.243
 +
diff -u -8 -p -r1.243 tabbrowser.xml
 +
--- tabbrowser.xml 18 Sep 2007 00:59:41 -0000 1.243
 +
+++ tabbrowser.xml 15 Oct 2007 22:15:13 -0000
 +
@@ -1088,17 +1088,17 @@
 +
            if (!bgLoad) {
 +
              function selectNewForegroundTab(browser, tab) {
 +
                browser.selectedTab = tab;
 +
              }
 +
              setTimeout(selectNewForegroundTab, 0, getBrowser(), tab);
 +
            }
 +
            if (!bgLoad)
 +
              this.selectedTab = tab;
 +
-           
 +
+            var position = currentTabIndex + 1;
 +
            return tab;
 +
          ]]>
 +
        </body>
 +
      </method>
 +
 +
      <method name="loadTabs">
 +
        <parameter name="aURIs"/>
 +
        <parameter name="aLoadInBackground"/>
 +
@@ -1173,17 +1173,18 @@
 +
            t.maxWidth = this.mTabContainer.mTabMaxWidth;
 +
            t.minWidth = this.mTabContainer.mTabMinWidth;
 +
            t.width = 0;
 +
            t.setAttribute("flex", "100");
 +
            t.setAttribute("validate", "never");
 +
            t.setAttribute("onerror", "this.parentNode.parentNode.parentNode.parentNode.addToMissedIconCache(this.getAttribute('image')); this.removeAttribute('image');");
 +
            t.className = "tabbrowser-tab";
 +
 +
-            this.mTabContainer.appendChild(t);
 +
+            var currentTabIndex = this.mTabContainer.selectedIndex;
 +
+ this.mTabContainer.insertBefore(t, this.mTabContainer.childNodes.item(currentTabIndex + 1));
 +
 +
            if (document.defaultView
 +
                        .getComputedStyle(this.mTabContainer, "")
 +
                        .direction == "rtl") {
 +
              /* In RTL UI, the tab is visually added to the left side of the
 +
                * tabstrip. This means the tabstip has to be scrolled back in
 +
                * order to make sure the same set of tabs is visible before and
 +
                * after the new tab is added */
 +
@@ -1952,17 +1953,17 @@
 +
          this.mTabListeners.splice(aIndex, 0, this.mTabListeners.splice(aTab._tPos, 1)[0]);
 +
 +
          var oldPosition = aTab._tPos;
 +
 +
          aIndex = aIndex < aTab._tPos ? aIndex: aIndex+1;
 +
          this.mCurrentTab._selected = false;
 +
          // use .item() instead of [] because dragging to the end of the strip goes out of
 +
          // bounds: .item() returns null (so it acts like appendChild), but [] throws
 +
-          this.mTabContainer.insertBefore(aTab, this.mTabContainer.childNodes.item(aIndex));
 +
+          this.mTabContainer. Before(aTab, this.mTabContainer.childNodes.item(aIndex));
 +
          // invalidate cache, because mTabContainer is about to change
 +
          this._browsers = null;
 +
 +
          var i;
 +
          for (i = 0; i < this.mTabContainer.childNodes.length; i++) {
 +
            this.mTabContainer.childNodes[i]._tPos = i;
 +
            this.mTabContainer.childNodes[i]._selected = false;
 +
          }
 +
</pre>
 +
 +
==Modifying the Browser Part II - writing an extension==
 +
*This extension that will open a new tab next to the current tab.
 +
*Click here to [http://zenit.senecac.on.ca/wiki/imgs/Addtabbeside-dtheosab.xpi download]
 +
 +
==Thunderbird Bug Fix Lab==
 +
*This patch will fix multiple . after @ sign of mailto link problem.
 +
*In the lab, I somehow could not connect to the cvs server and cannot create the patch. Here is what before and after code.
 +
<pre>
 +
176    if (inString.FindChar('.', pos) != kNotFound) // if we have a '.' after the @ sign....
 +
176    if (inString.FindChar('.', pos) != kNotFound && inString.Find("..") == kNotFound) // if we have a '.' after the @ sign....
 +
</pre>

Revision as of 22:57, 9 December 2007

About me


Labs

Modifying the Browser Lab Part I

  • This patch will make the new tab to be opened next to the current tab.
Index: tabbrowser.xml
===================================================================
RCS file: /cvsroot/mozilla/browser/base/content/tabbrowser.xml,v
retrieving revision 1.243
diff -u -8 -p -r1.243 tabbrowser.xml
--- tabbrowser.xml	18 Sep 2007 00:59:41 -0000	1.243
+++ tabbrowser.xml	15 Oct 2007 22:15:13 -0000
@@ -1088,17 +1088,17 @@
             if (!bgLoad) {
               function selectNewForegroundTab(browser, tab) {
                 browser.selectedTab = tab;
               }
               setTimeout(selectNewForegroundTab, 0, getBrowser(), tab);
             }
             if (!bgLoad)
               this.selectedTab = tab;
-            
+            var position = currentTabIndex + 1;
             return tab;
          ]]>
         </body>
       </method>
 
       <method name="loadTabs">
         <parameter name="aURIs"/>
         <parameter name="aLoadInBackground"/>
@@ -1173,17 +1173,18 @@
             t.maxWidth = this.mTabContainer.mTabMaxWidth;
             t.minWidth = this.mTabContainer.mTabMinWidth;
             t.width = 0;
             t.setAttribute("flex", "100");
             t.setAttribute("validate", "never");
             t.setAttribute("onerror", "this.parentNode.parentNode.parentNode.parentNode.addToMissedIconCache(this.getAttribute('image')); this.removeAttribute('image');");
             t.className = "tabbrowser-tab";
 
-            this.mTabContainer.appendChild(t);
+            var currentTabIndex = this.mTabContainer.selectedIndex;
+			this.mTabContainer.insertBefore(t, this.mTabContainer.childNodes.item(currentTabIndex + 1));
 
             if (document.defaultView
                         .getComputedStyle(this.mTabContainer, "")
                         .direction == "rtl") {
               /* In RTL UI, the tab is visually added to the left side of the
                * tabstrip. This means the tabstip has to be scrolled back in
                * order to make sure the same set of tabs is visible before and
                * after the new tab is added */
@@ -1952,17 +1953,17 @@
           this.mTabListeners.splice(aIndex, 0, this.mTabListeners.splice(aTab._tPos, 1)[0]);
 
           var oldPosition = aTab._tPos;
 
           aIndex = aIndex < aTab._tPos ? aIndex: aIndex+1;
           this.mCurrentTab._selected = false;
           // use .item() instead of [] because dragging to the end of the strip goes out of
           // bounds: .item() returns null (so it acts like appendChild), but [] throws
-          this.mTabContainer.insertBefore(aTab, this.mTabContainer.childNodes.item(aIndex));
+          this.mTabContainer.	Before(aTab, this.mTabContainer.childNodes.item(aIndex));
           // invalidate cache, because mTabContainer is about to change
           this._browsers = null;
 
           var i;
           for (i = 0; i < this.mTabContainer.childNodes.length; i++) {
             this.mTabContainer.childNodes[i]._tPos = i;
             this.mTabContainer.childNodes[i]._selected = false;
           }

Modifying the Browser Part II - writing an extension

  • This extension that will open a new tab next to the current tab.
  • Click here to download

Thunderbird Bug Fix Lab

  • This patch will fix multiple . after @ sign of mailto link problem.
  • In the lab, I somehow could not connect to the cvs server and cannot create the patch. Here is what before and after code.
176     if (inString.FindChar('.', pos) != kNotFound) // if we have a '.' after the @ sign....
176     if (inString.FindChar('.', pos) != kNotFound && inString.Find("..") == kNotFound) // if we have a '.' after the @ sign....