ginebra2/chrome/bedrockchrome/chrome.js
author hgs
Fri, 15 Oct 2010 17:30:59 -0400
changeset 16 3c88a81ff781
parent 12 afcd8e6d025b
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16
hgs
parents: 12
diff changeset
     1
var BOOKMARKVIEW_PAGE = ":/bookmarkview/BookmarkView.html";
hgs
parents: 12
diff changeset
     2
var SETTINGSVIEW_PAGE = ":/settingsview/SettingsView.html";
hgs
parents: 12
diff changeset
     3
var HISTORYVIEW_PAGE = ":/historyview/historyView.html";
hgs
parents: 12
diff changeset
     4
var SUGGESTS_PAGE = "qrc:///suggests/suggests.html";
hgs
parents: 12
diff changeset
     5
3
hgs
parents: 0
diff changeset
     6
var preLoadBookmarksDone=0;
16
hgs
parents: 12
diff changeset
     7
hgs
parents: 12
diff changeset
     8
document.getElementsByClassName = function(class_name) {
hgs
parents: 12
diff changeset
     9
    var docList = this.all || this.getElementsByTagName('*');
hgs
parents: 12
diff changeset
    10
    var matchArray = new Array();
hgs
parents: 12
diff changeset
    11
hgs
parents: 12
diff changeset
    12
    /*Create a regular expression object for class*/
hgs
parents: 12
diff changeset
    13
    var re = new RegExp("(?:^|\\s)"+class_name+"(?:\\s|$)");
hgs
parents: 12
diff changeset
    14
    for (var i = 0; i < docList.length; i++) {
hgs
parents: 12
diff changeset
    15
        if (re.test(docList[i].className) ) {
hgs
parents: 12
diff changeset
    16
            matchArray[matchArray.length] = docList[i];
hgs
parents: 12
diff changeset
    17
        }
hgs
parents: 12
diff changeset
    18
    }
hgs
parents: 12
diff changeset
    19
hgs
parents: 12
diff changeset
    20
	return matchArray;
hgs
parents: 12
diff changeset
    21
}
hgs
parents: 12
diff changeset
    22
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
function calcToolbarPopAnchorOffset(anchoredSnippet,
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
                                    anchorToSnippet,
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
                                    xCenterOffset,
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
                                    yBotGap)
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
{
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
    //
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
    // For popup-chrome (menu, zoomBtn) they are aligned by default
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
    // to the upper left-hand corners.
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
    //
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
    // This will calculate the offset needed to center the popup above the
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
    // button, or make it slightly off-center
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
    //
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
    // xCenterOffset = make x param this much off center
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
    // yBotGap = how much gap should there be between top of anchorTo,
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
    //           and bottom of anchored
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
    //
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
    anchorToGeom = anchorToSnippet.getGeometry();
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
    anchoredGeom = anchoredSnippet.getGeometry();
3
hgs
parents: 0
diff changeset
    41
    xOffset = -(0.5 * anchoredGeom.width) +
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
        (0.5 * anchorToGeom.width) +
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
        xCenterOffset;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
    yOffset = -anchoredGeom.height - yBotGap;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
    return([xOffset,yOffset]);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
}
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
16
hgs
parents: 12
diff changeset
    48
function hidePopups(){
hgs
parents: 12
diff changeset
    49
	
hgs
parents: 12
diff changeset
    50
	  if (window.snippets.MostVisitedViewId.isVisible())
hgs
parents: 12
diff changeset
    51
          window.snippets.MostVisitedViewId.hide();
hgs
parents: 12
diff changeset
    52
           
hgs
parents: 12
diff changeset
    53
    if (window.snippets.SuggestsChromeId.isVisible()) {
hgs
parents: 12
diff changeset
    54
            window.snippets.SuggestsChromeId.hide(false);
hgs
parents: 12
diff changeset
    55
            views.WebView.enabled = true;
hgs
parents: 12
diff changeset
    56
            views.WebView.unfreeze();
hgs
parents: 12
diff changeset
    57
    }
hgs
parents: 12
diff changeset
    58
    
hgs
parents: 12
diff changeset
    59
    if(app.ui() != "maemo5_ui") 
hgs
parents: 12
diff changeset
    60
	    return;
hgs
parents: 12
diff changeset
    61
	        
hgs
parents: 12
diff changeset
    62
    snippets.BookmarkDialogId.hide();
hgs
parents: 12
diff changeset
    63
}
hgs
parents: 12
diff changeset
    64
3
hgs
parents: 0
diff changeset
    65
// Display the super-page with the given name and path.
hgs
parents: 0
diff changeset
    66
function showSuperPage(pageName, path) {
hgs
parents: 0
diff changeset
    67
hgs
parents: 0
diff changeset
    68
    if (window.views.WebView[pageName] == undefined) {
hgs
parents: 0
diff changeset
    69
        window.views.WebView.createSuperPage(pageName, true);
16
hgs
parents: 12
diff changeset
    70
    		window.views.WebView[pageName].load(/*chrome.baseDirectory +*/ path);
3
hgs
parents: 0
diff changeset
    71
    }
16
hgs
parents: 12
diff changeset
    72
    else {
hgs
parents: 12
diff changeset
    73
    	// FIXME: this is a workaround temporary solution
hgs
parents: 12
diff changeset
    74
    	// this is used to render CSS styles for super pages 
hgs
parents: 12
diff changeset
    75
    	// instead of just popping them up from ViewStack which somehow prevent proper CSS styling on page display
hgs
parents: 12
diff changeset
    76
    	window.views.WebView[pageName].load(path);
hgs
parents: 12
diff changeset
    77
 	}
hgs
parents: 12
diff changeset
    78
 
12
hgs
parents: 9
diff changeset
    79
    if (!window.views.WebView.bedrockTiledBackingStoreEnabled()){
hgs
parents: 9
diff changeset
    80
        window.views.WebView.setSavedZoomValueInView(window.views.WebView.zoomFactor);
hgs
parents: 9
diff changeset
    81
		window.views.WebView.zoomFactor = 1.0;
hgs
parents: 9
diff changeset
    82
    }
3
hgs
parents: 0
diff changeset
    83
    //window.views.WebView.showSuperPage(pageName);
hgs
parents: 0
diff changeset
    84
    window.ViewStack.switchView(pageName, "WebView");
16
hgs
parents: 12
diff changeset
    85
3
hgs
parents: 0
diff changeset
    86
    if (!window.views.WebView.bedrockTiledBackingStoreEnabled())
hgs
parents: 0
diff changeset
    87
        window.views.WebView.touchNav.doubleClickEnabled = false;
16
hgs
parents: 12
diff changeset
    88
        
hgs
parents: 12
diff changeset
    89
    hidePopups();
3
hgs
parents: 0
diff changeset
    90
}
hgs
parents: 0
diff changeset
    91
hgs
parents: 0
diff changeset
    92
function chrome_showBookmarksView() {
16
hgs
parents: 12
diff changeset
    93
    showSuperPage("BookmarkTreeView", BOOKMARKVIEW_PAGE);
3
hgs
parents: 0
diff changeset
    94
}
hgs
parents: 0
diff changeset
    95
hgs
parents: 0
diff changeset
    96
function chrome_showHistoryView() {
16
hgs
parents: 12
diff changeset
    97
    showSuperPage("BookmarkHistoryView", HISTORYVIEW_PAGE);
3
hgs
parents: 0
diff changeset
    98
}
hgs
parents: 0
diff changeset
    99
hgs
parents: 0
diff changeset
   100
function chrome_showWindowsView() {
16
hgs
parents: 12
diff changeset
   101
		if(app.ui() != "maemo5_ui") 
hgs
parents: 12
diff changeset
   102
    	window.snippets.ZoomBarId.hide(); // hide Zoom Bar while showing windows view
3
hgs
parents: 0
diff changeset
   103
    window.snippets.MostVisitedViewId.hide();
hgs
parents: 0
diff changeset
   104
    window.ViewStack.switchView("WindowView", "WebView");
hgs
parents: 0
diff changeset
   105
}
hgs
parents: 0
diff changeset
   106
hgs
parents: 0
diff changeset
   107
function chrome_showSettingsView() {
16
hgs
parents: 12
diff changeset
   108
    showSuperPage("SettingsView", SETTINGSVIEW_PAGE);
3
hgs
parents: 0
diff changeset
   109
}
hgs
parents: 0
diff changeset
   110
hgs
parents: 0
diff changeset
   111
function chrome_showBasicMenu() {
hgs
parents: 0
diff changeset
   112
hgs
parents: 0
diff changeset
   113
    cm_TheContextMenu.show(viewMenu_getWebViewContextMenuData());
hgs
parents: 0
diff changeset
   114
hgs
parents: 0
diff changeset
   115
}
hgs
parents: 0
diff changeset
   116
hgs
parents: 0
diff changeset
   117
function chrome_addBookmark() {
12
hgs
parents: 9
diff changeset
   118
    launchBookmarkDialog(window.pageController.currentDocTitle,window.pageController.currentDocUrl,-1,0);
3
hgs
parents: 0
diff changeset
   119
}
hgs
parents: 0
diff changeset
   120
hgs
parents: 0
diff changeset
   121
function chrome_cancelMenu() {
hgs
parents: 0
diff changeset
   122
hgs
parents: 0
diff changeset
   123
    cm_TheContextMenu.cancel();
hgs
parents: 0
diff changeset
   124
}
hgs
parents: 0
diff changeset
   125
hgs
parents: 0
diff changeset
   126
// Center the given snippet on-screen.
hgs
parents: 0
diff changeset
   127
function centerSnippet(snippet) {
hgs
parents: 0
diff changeset
   128
    var x = (chrome.displaySize.width - snippet.geometry.width) / 2;
hgs
parents: 0
diff changeset
   129
    var y = (chrome.displaySize.height - snippet.geometry.height) / 2;
hgs
parents: 0
diff changeset
   130
    snippet.setPosition(x, y);
hgs
parents: 0
diff changeset
   131
}
hgs
parents: 0
diff changeset
   132
hgs
parents: 0
diff changeset
   133
function getChildById(el, childId) {
hgs
parents: 0
diff changeset
   134
    var children = el.getElementsByTagName("*");
hgs
parents: 0
diff changeset
   135
    for (var i = 0; i < children.length; i++) {
hgs
parents: 0
diff changeset
   136
        var child = children[i];
hgs
parents: 0
diff changeset
   137
        if (child.id == childId)
hgs
parents: 0
diff changeset
   138
            return child;
hgs
parents: 0
diff changeset
   139
    }
hgs
parents: 0
diff changeset
   140
    return undefined;
hgs
parents: 0
diff changeset
   141
}
hgs
parents: 0
diff changeset
   142
hgs
parents: 0
diff changeset
   143
function onActivateBookmarkView() {
16
hgs
parents: 12
diff changeset
   144
	  snippets.BookmarkViewToolbarId.enabled = true;
hgs
parents: 12
diff changeset
   145
	  try {
12
hgs
parents: 9
diff changeset
   146
    window.bookmarksController.launchBookmarkEditDailog.connect(showBookmarkEditDialog);
16
hgs
parents: 12
diff changeset
   147
  	}
hgs
parents: 12
diff changeset
   148
  	catch (e){;} // just in case bookmarksHistoryManager is not ready yet
hgs
parents: 12
diff changeset
   149
  
3
hgs
parents: 0
diff changeset
   150
}
hgs
parents: 0
diff changeset
   151
function preLoad()
hgs
parents: 0
diff changeset
   152
{   
16
hgs
parents: 12
diff changeset
   153
    preloadSuperPage("BookmarkTreeView", BOOKMARKVIEW_PAGE);
hgs
parents: 12
diff changeset
   154
    preloadSuperPage("SettingsView", SETTINGSVIEW_PAGE); 
3
hgs
parents: 0
diff changeset
   155
    preLoadBookmarksDone=1;
hgs
parents: 0
diff changeset
   156
}
hgs
parents: 0
diff changeset
   157
function _updateHistory()
hgs
parents: 0
diff changeset
   158
{
16
hgs
parents: 12
diff changeset
   159
	preloadSuperPage("BookmarkHistoryView", HISTORYVIEW_PAGE);
3
hgs
parents: 0
diff changeset
   160
}
hgs
parents: 0
diff changeset
   161
hgs
parents: 0
diff changeset
   162
function _updateBookmarks()
hgs
parents: 0
diff changeset
   163
{
16
hgs
parents: 12
diff changeset
   164
    preloadSuperPage("BookmarkTreeView", BOOKMARKVIEW_PAGE);
3
hgs
parents: 0
diff changeset
   165
}
hgs
parents: 0
diff changeset
   166
hgs
parents: 0
diff changeset
   167
// chrome_popupShownCount keeps a count of how many popups are currently being shown so that
hgs
parents: 0
diff changeset
   168
// we can re-enable the appropriate UI elements only when the last one is hidden.
hgs
parents: 0
diff changeset
   169
var chrome_popupShownCount = 0;
hgs
parents: 0
diff changeset
   170
hgs
parents: 0
diff changeset
   171
// Called when a PopupChromeItem is displayed.
hgs
parents: 0
diff changeset
   172
function onPopupShown(id) {
hgs
parents: 0
diff changeset
   173
    if(chrome_popupShownCount == 0) {
hgs
parents: 0
diff changeset
   174
        // Disable snippets etc. that should be greyed-out while the popup is shown. 
12
hgs
parents: 9
diff changeset
   175
        if (app.layoutType() == "tenone") {
hgs
parents: 9
diff changeset
   176
            snippets.TitleUrlId.enabled = false;
hgs
parents: 9
diff changeset
   177
        }
hgs
parents: 9
diff changeset
   178
        else {
hgs
parents: 9
diff changeset
   179
            snippets.UrlSearchChromeId.enabled = false;    
hgs
parents: 9
diff changeset
   180
        }    
3
hgs
parents: 0
diff changeset
   181
        views.WebView.enabled = false;
hgs
parents: 0
diff changeset
   182
        views.WebView.freeze();
hgs
parents: 0
diff changeset
   183
        
hgs
parents: 0
diff changeset
   184
        // Note: this can be expanded as needed.  We may want to disable all snippets except
hgs
parents: 0
diff changeset
   185
        // for the status bar and the one who's id was passed in.
hgs
parents: 0
diff changeset
   186
    }
hgs
parents: 0
diff changeset
   187
    chrome_popupShownCount++;
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
    
3
hgs
parents: 0
diff changeset
   189
    if(preLoadBookmarksDone==0)
hgs
parents: 0
diff changeset
   190
    {
hgs
parents: 0
diff changeset
   191
    	preLoad();
hgs
parents: 0
diff changeset
   192
    }
hgs
parents: 0
diff changeset
   193
}
hgs
parents: 0
diff changeset
   194
hgs
parents: 0
diff changeset
   195
// Called when a PopupChromeItem is hidden.
hgs
parents: 0
diff changeset
   196
function onPopupHidden(id) {
hgs
parents: 0
diff changeset
   197
    chrome_popupShownCount--;
hgs
parents: 0
diff changeset
   198
    if(chrome_popupShownCount == 0) {
hgs
parents: 0
diff changeset
   199
        // Re-enable snippets etc. that were greyed-out while popups were being shown.
12
hgs
parents: 9
diff changeset
   200
        if (app.layoutType() == "tenone") {
hgs
parents: 9
diff changeset
   201
            snippets.TitleUrlId.enabled = true;
hgs
parents: 9
diff changeset
   202
        }
hgs
parents: 9
diff changeset
   203
        else {
hgs
parents: 9
diff changeset
   204
            snippets.UrlSearchChromeId.enabled = true;
hgs
parents: 9
diff changeset
   205
        }
3
hgs
parents: 0
diff changeset
   206
        views.WebView.enabled = true;
hgs
parents: 0
diff changeset
   207
        views.WebView.unfreeze();
hgs
parents: 0
diff changeset
   208
    }
hgs
parents: 0
diff changeset
   209
    if(chrome_popupShownCount < 0) app.debug("onPopupHidden: error, chrome_popupShownCount invalid");
hgs
parents: 0
diff changeset
   210
}
hgs
parents: 0
diff changeset
   211
hgs
parents: 0
diff changeset
   212
function preloadSuperPage(pageName, path) {
hgs
parents: 0
diff changeset
   213
    if (window.views.WebView[pageName] == undefined) {
hgs
parents: 0
diff changeset
   214
        window.views.WebView.createSuperPage(pageName, true);
hgs
parents: 0
diff changeset
   215
    }
16
hgs
parents: 12
diff changeset
   216
    window.views.WebView[pageName].load(/*chrome.baseDirectory +*/ path);
hgs
parents: 12
diff changeset
   217
}
hgs
parents: 12
diff changeset
   218
hgs
parents: 12
diff changeset
   219
//var chrome_blockPopupsAction;
hgs
parents: 12
diff changeset
   220
hgs
parents: 12
diff changeset
   221
// Handle Block/Allow Popups action.
hgs
parents: 12
diff changeset
   222
function chrome_toggleBlockPopups() {
hgs
parents: 12
diff changeset
   223
    hidePopups();
hgs
parents: 12
diff changeset
   224
    pageController.savePopupSettings(!pageController.getPopupSettings());
hgs
parents: 12
diff changeset
   225
    chrome_blockPopupsAction.text = chrome_getBlockPopupsActionText();
hgs
parents: 12
diff changeset
   226
}
hgs
parents: 12
diff changeset
   227
hgs
parents: 12
diff changeset
   228
// Returns the text for the Block/Allow Popups action based on the the current setting in the page controller.
hgs
parents: 12
diff changeset
   229
function chrome_getBlockPopupsActionText() {
hgs
parents: 12
diff changeset
   230
    return window.localeDelegate.translateText(pageController.getPopupSettings()
hgs
parents: 12
diff changeset
   231
                                               ? "txt_browser_content_view_menu_page_allow_popups"
hgs
parents: 12
diff changeset
   232
                                               : "txt_browser_content_view_menu_page_block_popups");
hgs
parents: 12
diff changeset
   233
}
hgs
parents: 12
diff changeset
   234
hgs
parents: 12
diff changeset
   235
function chrome_setZoomButtonActions() {
hgs
parents: 12
diff changeset
   236
    snippets.ZoomInButtonSnippet.connectAction("zoomIn", "WebView", true, true);
hgs
parents: 12
diff changeset
   237
    snippets.ZoomOutButtonSnippet.connectAction("zoomOut", "WebView",  true, true);
3
hgs
parents: 0
diff changeset
   238
}
hgs
parents: 0
diff changeset
   239
16
hgs
parents: 12
diff changeset
   240
// Create an action and add it to the Maemo menu bar.
hgs
parents: 12
diff changeset
   241
function chrome_addMaemoMenuBarAction(text, callback) {
hgs
parents: 12
diff changeset
   242
    var action = app.createAction(text);
hgs
parents: 12
diff changeset
   243
    action.triggered.connect(callback);
hgs
parents: 12
diff changeset
   244
    app.addMenuBarAction(action);
hgs
parents: 12
diff changeset
   245
    return action;
hgs
parents: 12
diff changeset
   246
}
hgs
parents: 12
diff changeset
   247
function chrome_updateMaemoMenuBarItems() { 
hgs
parents: 12
diff changeset
   248
  app.setMenuBarEnabled(!views.WebView.currentPageIsSuperPage()); 
hgs
parents: 12
diff changeset
   249
}
hgs
parents: 12
diff changeset
   250
hgs
parents: 12
diff changeset
   251
// Create actions that appear in the Maemo system menu at the top of the screen.
hgs
parents: 12
diff changeset
   252
function chrome_createMaemoMenuBarItems() {
hgs
parents: 12
diff changeset
   253
    // Global menu items.
hgs
parents: 12
diff changeset
   254
    chrome_addMaemoMenuBarAction(window.localeDelegate.translateText("txt_browser_content_view_menu_nav_bookmarks"),
hgs
parents: 12
diff changeset
   255
                                 chrome_showBookmarksView);
hgs
parents: 12
diff changeset
   256
    chrome_addMaemoMenuBarAction(window.localeDelegate.translateText("txt_browser_content_view_menu_page_add_bookmark"),
hgs
parents: 12
diff changeset
   257
                                 function() { hidePopups(); launchBookmarkDialog(pageController.currentDocTitle, pageController.currentDocUrl,-1,0); } );
hgs
parents: 12
diff changeset
   258
    chrome_addMaemoMenuBarAction(window.localeDelegate.translateText("txt_browser_content_view_menu_nav_history"),
hgs
parents: 12
diff changeset
   259
                                 chrome_showHistoryView);
hgs
parents: 12
diff changeset
   260
    chrome_blockPopupsAction = chrome_addMaemoMenuBarAction(chrome_getBlockPopupsActionText(),
hgs
parents: 12
diff changeset
   261
                                                            chrome_toggleBlockPopups);
hgs
parents: 12
diff changeset
   262
    chrome_addMaemoMenuBarAction(window.localeDelegate.translateText("txt_browser_content_view_menu_page_share"),
hgs
parents: 12
diff changeset
   263
                                 function() { hidePopups(); pageController.share(pageController.currentDocUrl); } );
hgs
parents: 12
diff changeset
   264
    chrome_addMaemoMenuBarAction(window.localeDelegate.translateText("txt_browser_content_view_menu_nav_settings"),
hgs
parents: 12
diff changeset
   265
                                 chrome_showSettingsView);
hgs
parents: 12
diff changeset
   266
}
hgs
parents: 12
diff changeset
   267
function onChromeActivated() {
hgs
parents: 12
diff changeset
   268
	
hgs
parents: 12
diff changeset
   269
	snippets.SuggestsChromeId.hide(false);
hgs
parents: 12
diff changeset
   270
	
hgs
parents: 12
diff changeset
   271
  if(!views.WebView.currentPageIsSuperPage()) {
hgs
parents: 12
diff changeset
   272
      views.WebView.enabled = true;
hgs
parents: 12
diff changeset
   273
      views.WebView.unfreeze();
hgs
parents: 12
diff changeset
   274
  }
hgs
parents: 12
diff changeset
   275
  snippets.MostVisitedViewId.hide();
hgs
parents: 12
diff changeset
   276
    
hgs
parents: 12
diff changeset
   277
	if(app.ui() == "maemo5_ui") {
hgs
parents: 12
diff changeset
   278
    snippets.UrlSearchChromeId.grabFocus();            
hgs
parents: 12
diff changeset
   279
  }
hgs
parents: 12
diff changeset
   280
}
hgs
parents: 12
diff changeset
   281
hgs
parents: 12
diff changeset
   282
function onChromeComplete() {
hgs
parents: 12
diff changeset
   283
3
hgs
parents: 0
diff changeset
   284
    if (app.ui() == "orbit_ui") {
hgs
parents: 0
diff changeset
   285
        snippets.StatusBarChromeId.hide();
hgs
parents: 0
diff changeset
   286
    }
12
hgs
parents: 9
diff changeset
   287
    if (app.layoutType() == "tenone") {
hgs
parents: 9
diff changeset
   288
        window.snippets.TitleUrlId.anchorToView("top");
16
hgs
parents: 12
diff changeset
   289
        
hgs
parents: 12
diff changeset
   290
        // Disable content view while Most Visited view is shown.
hgs
parents: 12
diff changeset
   291
    		snippets.MostVisitedViewId.shown.connect(
hgs
parents: 12
diff changeset
   292
        	function() {
hgs
parents: 12
diff changeset
   293
           	views.WebView.enabled = false;
hgs
parents: 12
diff changeset
   294
           	views.WebView.unfreeze(); 
hgs
parents: 12
diff changeset
   295
        	}
hgs
parents: 12
diff changeset
   296
    		);
12
hgs
parents: 9
diff changeset
   297
16
hgs
parents: 12
diff changeset
   298
    		// Enable content view when Most Visited view is hidden.
hgs
parents: 12
diff changeset
   299
    		snippets.MostVisitedViewId.hidden.connect(
hgs
parents: 12
diff changeset
   300
        	function() {
hgs
parents: 12
diff changeset
   301
            views.WebView.enabled = true;
hgs
parents: 12
diff changeset
   302
        	}
hgs
parents: 12
diff changeset
   303
    		);  
hgs
parents: 12
diff changeset
   304
hgs
parents: 12
diff changeset
   305
    }
hgs
parents: 12
diff changeset
   306
    else if(app.ui() == "maemo5_ui") {
hgs
parents: 12
diff changeset
   307
        
hgs
parents: 12
diff changeset
   308
        chrome_createMaemoMenuBarItems();
hgs
parents: 12
diff changeset
   309
hgs
parents: 12
diff changeset
   310
        // Update the menu items when the page type changes.
hgs
parents: 12
diff changeset
   311
        views.WebView.normalPageShown.connect(chrome_updateMaemoMenuBarItems);
hgs
parents: 12
diff changeset
   312
        views.WebView.superPageShown.connect(chrome_updateMaemoMenuBarItems);
hgs
parents: 12
diff changeset
   313
        window.snippets.UrlSearchChromeId.anchorToView("top");
hgs
parents: 12
diff changeset
   314
        chrome_setZoomButtonActions();   
hgs
parents: 12
diff changeset
   315
        
hgs
parents: 12
diff changeset
   316
        // Disable content view while Most Visited view is shown.
hgs
parents: 12
diff changeset
   317
    		snippets.MostVisitedViewId.shown.connect(
hgs
parents: 12
diff changeset
   318
        	function() {
hgs
parents: 12
diff changeset
   319
           	views.WebView.enabled = false;
hgs
parents: 12
diff changeset
   320
           	snippets.UrlSearchChromeId.enabled = false;
hgs
parents: 12
diff changeset
   321
        	}
hgs
parents: 12
diff changeset
   322
    		);
hgs
parents: 12
diff changeset
   323
hgs
parents: 12
diff changeset
   324
    		// Enable content view when Most Visited view is hidden.
hgs
parents: 12
diff changeset
   325
    		snippets.MostVisitedViewId.hidden.connect(
hgs
parents: 12
diff changeset
   326
        	function() {
hgs
parents: 12
diff changeset
   327
            views.WebView.enabled = true;
hgs
parents: 12
diff changeset
   328
            snippets.UrlSearchChromeId.enabled = true;
hgs
parents: 12
diff changeset
   329
        	}
hgs
parents: 12
diff changeset
   330
    		);   
hgs
parents: 12
diff changeset
   331
        
12
hgs
parents: 9
diff changeset
   332
    }
hgs
parents: 9
diff changeset
   333
    else {
hgs
parents: 9
diff changeset
   334
        window.snippets.UrlSearchChromeId.anchorToView("top");
hgs
parents: 9
diff changeset
   335
    }
3
hgs
parents: 0
diff changeset
   336
hgs
parents: 0
diff changeset
   337
    window.snippets.WebViewToolbarId.menuButtonSelected.connect(chrome_showBasicMenu);
hgs
parents: 0
diff changeset
   338
    window.snippets.BookmarkViewToolbarId.addBookmarkSelected.connect(chrome_addBookmark);
hgs
parents: 0
diff changeset
   339
    window.snippets.WebViewToolbarId.menuButtonCanceled.connect(chrome_cancelMenu);
hgs
parents: 0
diff changeset
   340
16
hgs
parents: 12
diff changeset
   341
		// Dismiss Most Visited view when it gets an external click event.
hgs
parents: 12
diff changeset
   342
    	snippets.MostVisitedViewId.externalMouseEvent.connect(
hgs
parents: 12
diff changeset
   343
        function(type, name, description) {
hgs
parents: 12
diff changeset
   344
             if(name == "MouseClick") {
hgs
parents: 12
diff changeset
   345
                // Use timer here to hide the view even when the Most Visited page button is clicked,
hgs
parents: 12
diff changeset
   346
                // otherwise the button re-displays the view.
hgs
parents: 12
diff changeset
   347
                setTimeout('snippets.MostVisitedViewId.hide()', 100);
hgs
parents: 12
diff changeset
   348
             }
hgs
parents: 12
diff changeset
   349
        });
hgs
parents: 12
diff changeset
   350
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
    //window.snippets.ButtonContainer.setVisibilityAnimator("G_VISIBILITY_FADE_ANIMATOR");
16
hgs
parents: 12
diff changeset
   352
  if(app.ui() != "maemo5_ui"){
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
    result = new Array;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
    result = calcToolbarPopAnchorOffset(window.snippets.ZoomBarId,
3
hgs
parents: 0
diff changeset
   355
                                        window.snippets.ZoomButtonSnippet,
hgs
parents: 0
diff changeset
   356
                                        0,10);
hgs
parents: 0
diff changeset
   357
    window.snippets.ZoomBarId.anchorTo("ZoomButtonSnippet",result[0],result[1]);
16
hgs
parents: 12
diff changeset
   358
  }
3
hgs
parents: 0
diff changeset
   359
16
hgs
parents: 12
diff changeset
   360
    snippets.SuggestsChromeId.url = /*chrome.baseDirectory +*/ SUGGESTS_PAGE;
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
    
3
hgs
parents: 0
diff changeset
   362
    window.ViewStack.activateBookmark.connect(onActivateBookmarkView);
hgs
parents: 0
diff changeset
   363
hgs
parents: 0
diff changeset
   364
    chrome.popupShown.connect(onPopupShown);
hgs
parents: 0
diff changeset
   365
    chrome.popupHidden.connect(onPopupHidden);
16
hgs
parents: 12
diff changeset
   366
    
hgs
parents: 12
diff changeset
   367
    if(app.ui() == "maemo5_ui")
hgs
parents: 12
diff changeset
   368
    	chrome.chromeActivated.connect(onChromeActivated);
hgs
parents: 12
diff changeset
   369
    
3
hgs
parents: 0
diff changeset
   370
    window.pageController.loadFinished.connect(_updateHistory);
9
hgs
parents: 3
diff changeset
   371
    window.pageController.loadFinishedForBackgroundWindow.connect(_updateHistory);
12
hgs
parents: 9
diff changeset
   372
    window.bookmarksController.bookmarksCleared.connect(_updateBookmarks);
hgs
parents: 9
diff changeset
   373
    window.historyManager.historyCleared.connect(_updateHistory);
16
hgs
parents: 12
diff changeset
   374
    
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   375
}
3
hgs
parents: 0
diff changeset
   376
hgs
parents: 0
diff changeset
   377
// For debugging: prints all properties and functions attached to a given object.
hgs
parents: 0
diff changeset
   378
function printProp(x) {
hgs
parents: 0
diff changeset
   379
    var str = "-------------\n" + x + " properties:\n";
hgs
parents: 0
diff changeset
   380
    for (property in x) {
hgs
parents: 0
diff changeset
   381
        str += ("\t" + property + ": " + x[property] + "\n");
hgs
parents: 0
diff changeset
   382
    }
hgs
parents: 0
diff changeset
   383
    app.debug(str);
hgs
parents: 0
diff changeset
   384
}
16
hgs
parents: 12
diff changeset
   385