ginebra2/chrome/bedrockchrome/bookmarkview.superpage/bookmarkDialog.js
author hgs
Tue, 29 Jun 2010 00:46:29 -0400
changeset 3 0954f5dd2cd0
child 12 afcd8e6d025b
permissions -rw-r--r--
201026
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
hgs
parents:
diff changeset
     1
var _dailogFlag = 0;
hgs
parents:
diff changeset
     2
var _OriginalTitle = 0;
hgs
parents:
diff changeset
     3
hgs
parents:
diff changeset
     4
function bookmarkDialog()
hgs
parents:
diff changeset
     5
{
hgs
parents:
diff changeset
     6
   this.write = writeBookmarkDialog;
hgs
parents:
diff changeset
     7
hgs
parents:
diff changeset
     8
   // do setup
hgs
parents:
diff changeset
     9
    this.write();
hgs
parents:
diff changeset
    10
}
hgs
parents:
diff changeset
    11
hgs
parents:
diff changeset
    12
function writeBookmarkDialog()
hgs
parents:
diff changeset
    13
{
hgs
parents:
diff changeset
    14
    var html =
hgs
parents:
diff changeset
    15
               '<div class="top"></div>'+
hgs
parents:
diff changeset
    16
                '<div class="body">'+
hgs
parents:
diff changeset
    17
                   '<div class="bookmarkTextLabel" id="bookmarkDialogTitle">Add Bookmark</div>'+
hgs
parents:
diff changeset
    18
                   '<div class="GinebraSnippet" id="BookmarkDialogTitleId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+ 
hgs
parents:
diff changeset
    19
                   '<div class="GinebraSnippet" id="BookmarkDialogUrlId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+
hgs
parents:
diff changeset
    20
                   '<div class="controls">' +
hgs
parents:
diff changeset
    21
                      '<div type="button"  onmouseup="bookmarkOperation();" class="bookmarkDoneButton"></div>'+     
hgs
parents:
diff changeset
    22
                       '<div type="button" onmouseup="bookmarkDialogIdHide();" class="bookmarkCancelButton"></div>'+  
hgs
parents:
diff changeset
    23
                    '</div>'+ /*controls*/
hgs
parents:
diff changeset
    24
                '</div>'+  /*body*/
hgs
parents:
diff changeset
    25
                '<div class="bottom"></div>';
hgs
parents:
diff changeset
    26
  document.write(html);
hgs
parents:
diff changeset
    27
}
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
function bookmarkDialogIdHide(){
hgs
parents:
diff changeset
    30
    window.snippets.BookmarkDialogId.hide();
hgs
parents:
diff changeset
    31
    snippets.BookmarkViewToolbarId.enabled = true;
hgs
parents:
diff changeset
    32
    snippets.WebViewToolbarId.enabled = true;
hgs
parents:
diff changeset
    33
}
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
function launchBookmarkDialog(bmtitle, bmurl, dialogFlag)
hgs
parents:
diff changeset
    36
{
hgs
parents:
diff changeset
    37
    try{
hgs
parents:
diff changeset
    38
        snippets.BookmarkViewToolbarId.enabled = false;
hgs
parents:
diff changeset
    39
        snippets.WebViewToolbarId.enabled = false;
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
        if (dialogFlag == 0) {
hgs
parents:
diff changeset
    42
                var dlgTitle = document.getElementById("bookmarkDialogTitle");
hgs
parents:
diff changeset
    43
                  dlgTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_input_dial_add_bm");                 
hgs
parents:
diff changeset
    44
           }
hgs
parents:
diff changeset
    45
           else if (dialogFlag == 1) {
hgs
parents:
diff changeset
    46
                var dlgTitle = document.getElementById("bookmarkDialogTitle");
hgs
parents:
diff changeset
    47
                dlgTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_input_dial_edit_bm");
hgs
parents:
diff changeset
    48
           }
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
        _dailogFlag = dialogFlag;
hgs
parents:
diff changeset
    51
        _OriginalTitle = bmtitle;
hgs
parents:
diff changeset
    52
        window.snippets.BookmarkDialogTitleId.lostFocus.connect(titleFieldLostFocus);
hgs
parents:
diff changeset
    53
        window.snippets.BookmarkDialogUrlId.lostFocus.connect(urlFieldLostFocus);
hgs
parents:
diff changeset
    54
        window.snippets.BookmarkDialogTitleId.gainedFocus.connect(titleFieldGainedFocus);
hgs
parents:
diff changeset
    55
        window.snippets.BookmarkDialogUrlId.gainedFocus.connect(urlFieldGainedFocus);
hgs
parents:
diff changeset
    56
        // set max text length
hgs
parents:
diff changeset
    57
        // window.snippets.BookmarkDialogTitleId.setMaxTextLength(30);
hgs
parents:
diff changeset
    58
        var hints = window.snippets.BookmarkDialogUrlId.getTextOptions();
hgs
parents:
diff changeset
    59
        hints |= 2; // Qt::ImhNoAutoUppercase 0x2
hgs
parents:
diff changeset
    60
        window.snippets.BookmarkDialogUrlId.setTextOptions(hints);
hgs
parents:
diff changeset
    61
        if (bmtitle == "")
hgs
parents:
diff changeset
    62
            window.snippets.BookmarkDialogTitleId.text = "Title";
hgs
parents:
diff changeset
    63
        else
hgs
parents:
diff changeset
    64
            window.snippets.BookmarkDialogTitleId.text = bmtitle;    
hgs
parents:
diff changeset
    65
  
hgs
parents:
diff changeset
    66
        if (bmurl == "")
hgs
parents:
diff changeset
    67
            window.snippets.BookmarkDialogUrlId.text = "Url";
hgs
parents:
diff changeset
    68
        else
hgs
parents:
diff changeset
    69
           window.snippets.BookmarkDialogUrlId.text = bmurl; 
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
        window.snippets.BookmarkDialogId.show(false);
hgs
parents:
diff changeset
    72
hgs
parents:
diff changeset
    73
        window.snippets.BookmarkDialogTitleId.selectAll();
hgs
parents:
diff changeset
    74
        
hgs
parents:
diff changeset
    75
       }catch(e){ alert(e); }
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
}
hgs
parents:
diff changeset
    78
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
function bookmarkOperation()
hgs
parents:
diff changeset
    81
{
hgs
parents:
diff changeset
    82
    snippets.BookmarkViewToolbarId.enabled = true;
hgs
parents:
diff changeset
    83
    snippets.WebViewToolbarId.enabled = true;
hgs
parents:
diff changeset
    84
    //get title and url from the dialog
hgs
parents:
diff changeset
    85
    var bmtitle = window.snippets.BookmarkDialogTitleId.text;
hgs
parents:
diff changeset
    86
    var bmurl = window.snippets.BookmarkDialogUrlId.text;
hgs
parents:
diff changeset
    87
    //Hide the dialog
hgs
parents:
diff changeset
    88
    window.snippets.BookmarkDialogId.hide();
hgs
parents:
diff changeset
    89
    //Update the database
hgs
parents:
diff changeset
    90
    var errCode;
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
    if (_dailogFlag == 0)
hgs
parents:
diff changeset
    93
       errCode = window.bookmarksManager.addBookmark(bmtitle,bmurl);
hgs
parents:
diff changeset
    94
    else if (_dailogFlag == 1)
hgs
parents:
diff changeset
    95
       errCode = window.bookmarksManager.modifyBookmark(_OriginalTitle,bmtitle,bmurl);
hgs
parents:
diff changeset
    96
    
hgs
parents:
diff changeset
    97
    
hgs
parents:
diff changeset
    98
    if (errCode == -3){
hgs
parents:
diff changeset
    99
	     alert("Bookmark Url Is Empty");
hgs
parents:
diff changeset
   100
	     return;
hgs
parents:
diff changeset
   101
    }
hgs
parents:
diff changeset
   102
    else if (errCode != -0){
hgs
parents:
diff changeset
   103
	       alert("General Error");
hgs
parents:
diff changeset
   104
	       return;
hgs
parents:
diff changeset
   105
    }
hgs
parents:
diff changeset
   106
     
hgs
parents:
diff changeset
   107
	
hgs
parents:
diff changeset
   108
}
hgs
parents:
diff changeset
   109
hgs
parents:
diff changeset
   110
function titleFieldLostFocus()
hgs
parents:
diff changeset
   111
{
hgs
parents:
diff changeset
   112
    var bmtitle = window.snippets.BookmarkDialogTitleId.text;
hgs
parents:
diff changeset
   113
    if (bmtitle == "")
hgs
parents:
diff changeset
   114
       window.snippets.BookmarkDialogTitleId.text = "Title";
hgs
parents:
diff changeset
   115
}
hgs
parents:
diff changeset
   116
hgs
parents:
diff changeset
   117
function urlFieldLostFocus()
hgs
parents:
diff changeset
   118
{
hgs
parents:
diff changeset
   119
    var bmurl= window.snippets.BookmarkDialogUrlId.text;
hgs
parents:
diff changeset
   120
    if (bmurl == "")
hgs
parents:
diff changeset
   121
       window.snippets.BookmarkDialogUrlId.text = "Url";
hgs
parents:
diff changeset
   122
}
hgs
parents:
diff changeset
   123
hgs
parents:
diff changeset
   124
hgs
parents:
diff changeset
   125
function titleFieldGainedFocus()
hgs
parents:
diff changeset
   126
{
hgs
parents:
diff changeset
   127
    window.snippets.BookmarkDialogUrlId.unselect();
hgs
parents:
diff changeset
   128
}
hgs
parents:
diff changeset
   129
hgs
parents:
diff changeset
   130
function urlFieldGainedFocus()
hgs
parents:
diff changeset
   131
{
hgs
parents:
diff changeset
   132
    window.snippets.BookmarkDialogTitleId.unselect();
hgs
parents:
diff changeset
   133
}
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
hgs
parents:
diff changeset
   136
function showBookmarkEditDialog(bmtitle,bmurl) {
hgs
parents:
diff changeset
   137
    launchBookmarkDialog(bmtitle,bmurl,1);
hgs
parents:
diff changeset
   138
}