mypackage_wrt/Main.js
author nithyar
Fri, 07 May 2010 14:27:09 +0100
changeset 49 9fdd9acc0f5a
parent 44 48bcd0bbc1ab
child 50 29d06ba03163
permissions -rwxr-xr-x
Merge wk17 changes.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     1
// ////////////////////////////////////////////////////////////////////////////
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     2
// Symbian Foundation Example Code
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     3
//
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     4
// This software is in the public domain. No copyright is claimed, and you 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     5
// may use it for any purpose without license from the Symbian Foundation.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     6
// No warranty for any purpose is expressed or implied by the authors or
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     7
// the Symbian Foundation. 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     8
// ////////////////////////////////////////////////////////////////////////////
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     9
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    10
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    11
///////////////////////////////////////////////////////////////////////////////
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    12
// A widget for accessing developer.symbian.org 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    13
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    14
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    15
// Reference to the WRTKit user interface manager and main view.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    16
var uiManager;
44
48bcd0bbc1ab My package wiki v0.3 - http://developer.symbian.org/wiki/index.php/My_Package_Widget#Current_version
victorp@symbian.org
parents: 43
diff changeset
    17
var debuglog=null;
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    18
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    19
// Global settings / URLs and such
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    20
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    21
// Symbian.org web site base URL
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    22
//var symbianOrgBaseUrl = "http://staging.foundationhost.org";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    23
//var symbianOrgBaseUrlSsl = "https://staging.foundationhost.org";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    24
var symbianOrgBaseUrl = "http://developer.symbian.org";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    25
var symbianOrgBaseUrlSsl = "https://developer.symbian.org";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    26
var registrationURL = symbianOrgBaseUrl + "/main/user_profile/register.php";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    27
var blogFeedName = "Symbian Blog";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    28
var blogFeedUrl = "http://blog.symbian.org/feed/";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    29
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    30
// FORUM vars and settings 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    31
var symbianOrgNewThreadUrl = symbianOrgBaseUrl+"/forum/newthread.php?";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    32
var symbianOrgNewReplyUrl = symbianOrgBaseUrl+"/forum/newreply.php?";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    33
var symbianOrgLoginUrl = symbianOrgBaseUrlSsl+"/main/user_profile/login.php";
44
48bcd0bbc1ab My package wiki v0.3 - http://developer.symbian.org/wiki/index.php/My_Package_Widget#Current_version
victorp@symbian.org
parents: 43
diff changeset
    34
var symbianOrgLogoutUrl = symbianOrgBaseUrl+"/action/logoutAction.php";
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    35
var symbianOrgLoginUsernameField = "username";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    36
var symbianOrgLoginPasswordField = "password";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    37
var forumUsername = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    38
var forumPassword = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    39
var Packageid=null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    40
var myforumid=null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    41
var myforumtitle=null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    43
// Feed name, URL etc for forums
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    44
var forumFeedName = "Symbian.org Forums";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    45
var forumFeedURL = symbianOrgBaseUrl+ "/forum/external2.php?type=rss2"; //&fulldesc=1&lastpost=1
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    46
var forumsForumSpecQuery = "&forumid=";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    47
var forumFeedUpdateFrequency = -1;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    48
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    49
var forumGroupsUrl = symbianOrgBaseUrl+ "/rss/forum.php?type=groups";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    50
var forumsListUrl = symbianOrgBaseUrl+ "/rss/forum.php?type=forums&group=";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    51
var forumThreadUrl = symbianOrgBaseUrl+ "/rss/forum.php?type=threadmsgs&threadid=";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    52
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    53
var bugUrl= symbianOrgBaseUrl + "/bugs/show_bug.cgi?id=";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    54
var buildresultsUrl = symbianOrgBaseUrl + "/main/source/packages/package/builds.php?package=";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    55
// Wiki url etc
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    56
var wikiFeedName = "New on Symbian.org Wiki";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    57
var wikiFeedUrl = symbianOrgBaseUrl+"/wiki/index.php?title=Special:NewPages&feed=rss";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    58
var wikiBaseUrl = symbianOrgBaseUrl+"/wiki/index.php";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    59
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    60
// Update variables
44
48bcd0bbc1ab My package wiki v0.3 - http://developer.symbian.org/wiki/index.php/My_Package_Widget#Current_version
victorp@symbian.org
parents: 43
diff changeset
    61
var myversion = "0.3";
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    62
var versionWikiPageUrl = wikiBaseUrl + "/My_Package_Widget";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    63
var versionWikiPageString = "Current widget version is [";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    64
var downloadUrl = "http://tiny.symbian.org/mypackage";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    65
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    66
// UI elements
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    67
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    68
// blog / forum instances
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    69
// all are SOScreen subclasses
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    70
var home;   // home screen
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    71
var blog;   // RSSReader showing blog
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    72
var wiki;   // RSSReader showing wiki
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    73
var bugzilla; // RSSReader showing bugzilla feeds
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    74
var forumGroups; // RSSReader showing list of forum groups
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    75
var settings;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    76
var about;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    77
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    78
// currently showing SOScreen
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    79
var currentScreen = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    80
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    81
// Controls for the settings view
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    82
var forumUsernameControl;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    83
var forumPasswordControl;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    84
var packageControl;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    85
var ForumControl;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    86
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    87
// Constants for menu item identifiers.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    88
var MENU_ITEM_HOME = 0;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    89
var MENU_ITEM_SETTINGS = 1;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    90
var MENU_ITEM_REFRESH = 2;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    91
var MENU_ITEM_ABOUT = 3;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    92
var MENU_ITEM_CHECK_UPDATE = 4;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    93
var MENU_ITEM_LARGER_FONT = 5;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    94
var MENU_ITEM_SMALLER_FONT = 6;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    95
// Flag indicating weather the web site login has been initiated
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    96
var loginInitiated = false;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    97
var loginInitiatedCallback = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    98
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    99
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   100
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   101
var widgetHomepage = symbianOrgBaseUrl + "/wiki/index.php?title=Symbian.org_WRT_Widget&action=render";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   102
var aboutText = "<strong>My Package "+myversion+"</strong><br>"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   103
				+ "MyPackage WRT Widget is a Web Runtime application which allows mobile "
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   104
				+ "access to packag dashboard that collect online information from developer.symbian.org. <br>"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   105
				+ "For more information and updates check <div class=FeedItemLink>"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   106
				+ "<a href=\"JavaScript:void(0)\" onclick=\"openURL('" 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   107
				+ widgetHomepage 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   108
				+ "'); return false;\">"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   109
				+ "The MyPackage Widget Homepage</a></div><p>"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   110
				+ "My Page Author: Victor Palau<br>"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   111
				+" This Widget heavily borrows from Symbian.org Widget"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   112
				+ "Credits: Ivan Litovski, Ryan Grentz, James Mentz";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   113
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   114
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   115
var currentFontSize = 14;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   116
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   117
// Called from the onload event handler to initialize the widget.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   118
function init() {
44
48bcd0bbc1ab My package wiki v0.3 - http://developer.symbian.org/wiki/index.php/My_Package_Widget#Current_version
victorp@symbian.org
parents: 43
diff changeset
   119
	 debuglog= new Logger();
48bcd0bbc1ab My package wiki v0.3 - http://developer.symbian.org/wiki/index.php/My_Package_Widget#Current_version
victorp@symbian.org
parents: 43
diff changeset
   120
	 debuglog.level=debuglog.LOG_LEVEL_DEBUG;
48bcd0bbc1ab My package wiki v0.3 - http://developer.symbian.org/wiki/index.php/My_Package_Widget#Current_version
victorp@symbian.org
parents: 43
diff changeset
   121
	 
48bcd0bbc1ab My package wiki v0.3 - http://developer.symbian.org/wiki/index.php/My_Package_Widget#Current_version
victorp@symbian.org
parents: 43
diff changeset
   122
	// set tab-navigation mode and show softkeys
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   123
    // (only if we are in the WRT environment)
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   124
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   125
        widget.setNavigationEnabled(false);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   126
        window.menu.showSoftkeys();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   127
        // create menu
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   128
        var homeMenuItem = new MenuItem("Home", MENU_ITEM_HOME);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   129
        homeMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   130
        menu.append(homeMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   131
        var refreshMenuItem = new MenuItem("Refresh", MENU_ITEM_REFRESH);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   132
        refreshMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   133
        menu.append(refreshMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   134
        var settingsMenuItem = new MenuItem("Settings", MENU_ITEM_SETTINGS);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   135
        settingsMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   136
        menu.append(settingsMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   137
		var updateMenuItem = new MenuItem("Check for updates", MENU_ITEM_CHECK_UPDATE);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   138
		updateMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   139
		menu.append(updateMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   140
		var largerFontMenuItem = new MenuItem("Large font", MENU_ITEM_LARGER_FONT);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   141
		largerFontMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   142
		menu.append(largerFontMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   143
		var smallerFontMenuItem = new MenuItem("Small font", MENU_ITEM_SMALLER_FONT);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   144
		smallerFontMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   145
		menu.append(smallerFontMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   146
		var aboutMenuItem = new MenuItem("About", MENU_ITEM_ABOUT);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   147
		aboutMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   148
		menu.append(aboutMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   149
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   150
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   151
   
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   152
	// load prefs 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   153
	if (!forumUsername || !forumPassword || !Packageid) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   154
		loadPreferences();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   155
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   156
    // create UI manager
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   157
    uiManager = new UIManager();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   158
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   159
	bugzilla = new BugzillaSearchPanel(null);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   160
    
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   161
	// Create the home view
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   162
	//home = new ListView(null, "<img src=logo.png>");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   163
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   164
	// soft keys
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   165
	bugzilla.setupSoftKeys = function()  {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   166
	    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   167
			menu.setRightSoftkeyLabel("Exit", function(){window.close();});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   168
	    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   169
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   170
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   171
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   172
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   173
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   174
	// create settings view
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   175
    settings = new ListView(null, createCaption("Settings"));
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   176
	settings.previousView = home;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   177
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   178
	var settingsIntroLabel = new Label(null, null, 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   179
		"In order to access all site features, you must login. "
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   180
		+ "If you have not registered yet, please click the 'Register' button below.");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   181
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   182
	settings.addControl(settingsIntroLabel);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   183
    // forum username control
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   184
    forumUsernameControl = new TextField('forumUsername', "Symbian.org username", forumUsername?forumUsername:"");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   185
    settings.addControl(forumUsernameControl);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   186
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   187
    // forum password control
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   188
    forumPasswordControl = new TextField('forumPassword', "Symbian.org password", forumPassword?forumPassword:"", true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   189
    settings.addControl(forumPasswordControl);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   190
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   191
    //package ID
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   192
    packageControl = new TextField('packageControl', "Bugzilla Package name", Packageid?Packageid:"");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   193
    settings.addControl(packageControl);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   194
    
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   195
	//choose a forum
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   196
		ForumControl = new NavigationButton(1, "right.gif", myforumtitle ? "Forum: " + myforumtitle : "Choose a forum from main screen");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   197
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   198
		ForumControl.addEventListener("ActionPerformed", function(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   199
			var forum_choose = new RssReader(mypackage, forumsListUrl + "18", new ForumsSettingsFeedPresenter(null), settings, forumListResponseParser);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   200
			forum_choose.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   201
		});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   202
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   203
		settings.addControl(ForumControl);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   204
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   205
	// save settings button
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   206
    settingsSaveButton = new FormButton(null, "Save");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   207
    settingsSaveButton.addEventListener("ActionPerformed", saveSettingsClicked);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   208
    settings.addControl(settingsSaveButton);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   209
    
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   210
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   211
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   212
    // cancel settings button
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   213
    var settingsRegisterButton = new FormButton(null, "Register");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   214
    settingsRegisterButton.addEventListener("ActionPerformed", function(){openURL(registrationURL);});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   215
    settings.addControl(settingsRegisterButton);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   216
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   217
    // cancel settings button
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   218
    settingsCancelButton = new FormButton(null, "Cancel");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   219
    settingsCancelButton.addEventListener("ActionPerformed", function(){settings.goBack();});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   220
    settings.addControl(settingsCancelButton);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   221
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   222
	//Create about view
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   223
	about = new ListView(null, createCaption("My Package"));
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   224
    about.previousView = home;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   225
	// About label control
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   226
	aboutLabel = new ContentPanel(null, null, null, true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   227
	aboutLabel.setCaption("About this Widget");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   228
	aboutLabel.setContent(aboutText);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   229
	aboutLabel.setExpanded(true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   230
	about.addControl(aboutLabel);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   231
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   232
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   233
	bugzilla.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   234
	login(bugzilla.update(true));
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   235
	setDefaultFontSizeForScreenSize();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   236
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   237
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   238
// Callback for when menu items are selected.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   239
function menuItemSelected(id) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   240
	var currentView = uiManager.getView();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   241
    switch (id) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   242
        case MENU_ITEM_SETTINGS:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   243
			if ( currentView == settings || currentView == about) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   244
				settings.previousView = home;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   245
			} else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   246
				settings.previousView = currentView;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   247
			}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   248
			uiManager.hideNotification();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   249
            settings.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   250
            break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   251
		case MENU_ITEM_HOME:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   252
			currentView = bugzilla;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   253
			bugzilla.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   254
			break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   255
        case MENU_ITEM_REFRESH:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   256
            currentView.update(true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   257
            break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   258
        case MENU_ITEM_LARGER_FONT:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   259
			setLargeView();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   260
//            increaseFontSize();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   261
            break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   262
        case MENU_ITEM_SMALLER_FONT:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   263
			setSmallView();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   264
//            decreaseFontSize();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   265
            break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   266
        case MENU_ITEM_CHECK_UPDATE:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   267
            checkForUpdates();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   268
            break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   269
		case MENU_ITEM_ABOUT:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   270
			if ( currentView == settings || currentView == about) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   271
				about.previousView = home;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   272
			} else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   273
				about.previousView = currentView;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   274
			}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   275
			about.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   276
			break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   277
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   278
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   279
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   280
// Loads widget preferences.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   281
function loadPreferences() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   282
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   283
        // load settings from widget preferences store
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   284
        forumUsername = widget.preferenceForKey("forumUsername");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   285
        forumPassword = widget.preferenceForKey("forumPassword");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   286
		Packageid=widget.preferenceForKey("Packageid");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   287
		myforumid=widget.preferenceForKey("myforumid");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   288
		myforumtitle=widget.preferenceForKey("myforumtitle");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   289
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   290
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   291
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   292
// Loads widget preferences.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   293
function savePreferences() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   294
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   295
        // save settings in widget preferences store
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   296
        widget.setPreferenceForKey(forumUsername, "forumUsername");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   297
        widget.setPreferenceForKey(forumPassword, "forumPassword");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   298
		widget.setPreferenceForKey(Packageid, "Packageid");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   299
		widget.setPreferenceForKey(myforumid, "myforumid");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   300
		widget.setPreferenceForKey(myforumtitle, "myforumtitle");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   301
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   302
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   303
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   304
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   305
// Callback for settings view save button.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   306
function saveSettingsClicked() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   307
	var firstboot=true;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   308
	if (!Packageid) { fristboot=false;}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   309
	forumUsername = forumUsernameControl.getText();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   310
	forumPassword = forumPasswordControl.getText();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   311
	Packageid = packageControl.getText();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   312
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   313
    // save preferences
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   314
    savePreferences();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   315
    		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   316
	settings.goBack();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   317
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   318
	if ( loginInitiated ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   319
		login(loginInitiatedCallback);
44
48bcd0bbc1ab My package wiki v0.3 - http://developer.symbian.org/wiki/index.php/My_Package_Widget#Current_version
victorp@symbian.org
parents: 43
diff changeset
   320
		bugzilla.update(firstboot);
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   321
	}
44
48bcd0bbc1ab My package wiki v0.3 - http://developer.symbian.org/wiki/index.php/My_Package_Widget#Current_version
victorp@symbian.org
parents: 43
diff changeset
   322
	login(bugzilla.update(firstboot));
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   323
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   324
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   325
// Opens a URL in a separate browser window
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   326
function openURL(url) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   327
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   328
        // in WRT
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   329
        widget.openURL(url);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   330
    } else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   331
        // outside WRT
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   332
        window.open(url, "NewWindow");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   333
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   334
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   335
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   336
var updatePageAjax = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   337
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   338
function checkForUpdates() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   339
	uiManager.showNotification(-1, "wait", "Checking for updates...", -1);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   340
	updatePageAjax = new Ajax();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   341
	updatePageAjax.onreadystatechange = checkForUpdatesStage2;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   342
	updatePageAjax.open('GET', nocache(versionWikiPageUrl), true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   343
	updatePageAjax.send(null);	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   344
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   345
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   346
function checkForUpdatesStage2() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   347
    if (updatePageAjax.readyState == 4) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   348
		// extract version number
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   349
		var content = updatePageAjax.responseText;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   350
		var ind = content.indexOf(versionWikiPageString);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   351
		if ( ind == -1 ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   352
			uiManager.showNotification(3000, "warning", "Update failed, check manually.");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   353
			return;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   354
		}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   355
		ind += versionWikiPageString.length;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   356
		var ind2 = content.indexOf("]",ind);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   357
		if ( ind2 == -1 || (ind2-ind) > 10 ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   358
			uiManager.showNotification(3000, "warning", "Update failed, check manually.");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   359
			return;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   360
		}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   361
		var version = content.substring(ind,ind2);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   362
		// compare to this version
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   363
		if ( version != myversion ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   364
			var answer = confirm("Install new version " + version + "?");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   365
			if (answer) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   366
				// ok, we have the update
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   367
				uiManager.hideNotification();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   368
				openURL(nocache(downloadUrl));
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   369
				setTimeout(function () {window.close();}, 1000);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   370
			} else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   371
			uiManager.showNotification(3000, "info", "Update cancelled.");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   372
			}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   373
		} else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   374
			uiManager.showNotification(3000, "info", "Up to date!");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   375
		}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   376
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   377
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   378
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   379
function createCaption(caption) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   380
	if (caption.length > 30) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   381
		caption = caption.substring(0, 30) + "...";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   382
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   383
	return  "<table border=0><tr><td style=\"{vertical-align:middle}\">"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   384
		+ "<img src=titlebar.png style=\"{vertical-align:middle}\" >"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   385
		+ "</td><td style=\"{vertical-align:middle}\"> " 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   386
		+ "<p class=ListViewCaptionText>" + caption +"</p></td></tr></table>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   387
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   388
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   389
function setDefaultFontSizeForScreenSize(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   390
	// no preference available, check screen size
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   391
	if (window.innerWidth > 400 || window.innerHeight > 400) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   392
		// hi res screen, use large font
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   393
		setLargeView();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   394
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   395
	else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   396
		// lo res screen, use small font
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   397
		setSmallView();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   398
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   399
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   400
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   401
function setLargeView(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   402
	document.getElementById('stylesheet').href = 'WRTKit/Resources/UI-large.css';
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   403
//	setCssBodyFontSize(22);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   404
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   405
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   406
function setSmallView(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   407
	document.getElementById('stylesheet').href = 'WRTKit/Resources/UI.css';
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   408
//	setCssBodyFontSize(14);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   409
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   410
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   411
function increaseFontSize(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   412
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   413
		setCssBodyFontSize(currentFontSize + 2);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   414
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   415
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   416
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   417
function decreaseFontSize(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   418
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   419
		if (currentFontSize > 4) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   420
			setCssBodyFontSize(currentFontSize - 2);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   421
		}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   422
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   423
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   424
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   425
function setCssBodyFontSize(size){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   426
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   427
		currentFontSize = size;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   428
		var sizestring = "" + size;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   429
		document.body.style.fontSize = sizestring + "px";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   430
		widget.setPreferenceForKey(sizestring, "fontsize");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   431
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   432
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   433
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   434
function nocache(url) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   435
    if (url.indexOf("?") == -1) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   436
        url += "?";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   437
    } else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   438
        url += "&";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   439
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   440
    url += "xnocache=" + (new Date().getTime());
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   441
	return url;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   442
}