PK G/scripts/autoexec/PK G/scripts/PK 0m+,, scripts/autoexec/OfflineEmail.cs// #autoload // #name = OfflineEmail // #include = support/callback.cs // #include = support/launch_menu.cs if(!isObject(OfflineEmailMessageVector)) { new MessageVector(OfflineEmailMessageVector); $OfflineEmailNextSeq = 0; } //----------------------------------------------------------------------------- function OfflineEmailAddLaunchItem() { if(LaunchToolbarMenu.findItem(4, "EMAIL") > -1) LaunchToolbarMenu.insertItemAt(LaunchToolbarMenu.findItem(4, "EMAIL"), 75, "OFFLINE EMAIL", "LaunchOfflineEmailBrowser();"); else LaunchToolbarMenu.insertItemAt(LaunchToolbarMenu.findItem(0, "LAN GAME"), 75, "EMAIL", "LaunchOfflineEmailBrowser();"); } callback.add(LaunchMenuReady, "OfflineEmailAddLaunchItem();"); //----------------------------------------------------------------------------- function LaunchOfflineEmailBrowser() { LaunchTabView.viewTab("OFFLINE EMAIL", OfflineEmailGui, 0); OfflineEmailGui.setvisible(1); } //----------------------------------------------------------------------------- function OfflineEmailMessageAddRow(%text, %tag) { OfflineEM_Browser.addRow( %tag, getField( getRecord( %text, 1 ) ,0 ), getRecord( %text, 6 ), getRecord( %text, 3 ), getRecord( %text, 2 )); } //----------------------------------------------------------------------------- function OfflineEmailNewMessageArrived(%message, %seq) { $OfflineEmailNextSeq = %seq; OfflineEmailMessageVector.pushBackLine(%message, %seq); OfflineEmailMessageAddRow(%message, %seq); } //-- OfflineEmailGui ---------------------------------------------------------------- function OfflineEmailGui::onWake(%this) { %selId = OfflineEM_Browser.getSelectedId(); Canvas.pushDialog(LaunchToolbarDlg); if ( !OfflineEmailGui.initialized ) { for ( %i = 0; %i < $EmailColumnCount; %i++ ) OfflineEM_Browser.addColumn( %i, $EmailColumnName[%i], $pref::Email::Column[%i], firstWord( $EmailColumnRange[%i] ), getWord( $EmailColumnRange[%i], 1 ) ); OfflineEM_Browser.setSortColumn( $pref::Email::SortColumnKey ); OfflineEM_Browser.setSortIncreasing( $pref::Email::SortInc ); %minExtent = OfflineEM_BrowserPane.getMinExtent(); OfflineEM_Frame.frameMinExtent( 0, firstWord( %minExtent ), restWords( %minExtent ) ); %minExtent = OfflineEM_MessagePane.getMinExtent(); OfflineEM_Frame.frameMinExtent( 1, firstWord( %minExtent ), restWords( %minExtent ) ); OfflineEmailGui.initialized = true; } if ( OfflineEM_Browser.rowCount() > 0 ) { %row = OfflineEM_Browser.findById( %selId ); if ( %row == -1 ) OfflineEM_Browser.setSelectedRow( 0 ); else OfflineEM_Browser.setSelectedRow( %row ); } } //----------------------------------------------------------------------------- function OfflineEmailGui::onSleep( %this ) { } //----------------------------------------------------------------------------- function OfflineEmailGui::setKey( %this, %key ) { } //----------------------------------------------------------------------------- function OfflineEmailGui::onClose( %this, %key ) { } //----------------------------------------------------------------------------- function OfflineEmailGui::LoadCache( %this ) { $loadFileCommand = "OfflineEmailGui.getCache( getField( LOAD_FileList.getValue(), 0 ) );"; LOAD_FileList.altCommand = $loadFileCommand SPC "Canvas.popDialog(ShellLoadFileDlg);"; LOAD_LoadBtn.command = $loadFileCommand SPC "Canvas.popDialog(ShellLoadFileDlg);"; LOAD_Title.setTitle( "LOAD EMAIL CACHE" ); LOAD_LoadBtn.setActive( false ); Canvas.pushDialog( ShellLoadFileDlg ); LOAD_FileList.clear(); %id = 0; for ( %file = findFirstFile( "webcache/*email1" ); %file !$= ""; %file = findNextFile( "webcache/*email1" ) ) { LOAD_FileList.addRow( %id, %file ); %id++; } LOAD_FileList.sort( 0 ); } //----------------------------------------------------------------------------- function OfflineEmailGui::getCache( %this, %fileName ) { OfflineEM_Browser.clear(); OfflineEmailMessageVector.clear(); OfflineEMailInboxBodyText.setText(""); %file = new FileObject(); if ( %file.openForRead( %fileName ) ) { %guid = %file.readLine(); %this.messageCount = %file.readLine(); while( !%file.isEOF() ) { %line = %file.readLine(); %id = firstWord( %line ); %msg = collapseEscape( restWords( %line ) ); OfflineEmailNewMessageArrived( %msg, %id ); } %file.close(); } %file.delete(); OfflineEM_Browser.setSelectedRow( 0 ); } //-- OfflineEM_Browser -------------------------------------------------------------- function OfflineEM_Browser::onSelect( %this, %id ) { %text = OfflineEmailMessageVector.getLineTextByTag(%id); if(!getRecord(%text, 2)) // read flag { %line = OfflineEmailMessageVector.getLineIndexByTag(%id); %text = setRecord(%text, 2, 1); %this.setRowFlags( %id, 1 ); OfflineEmailMessageVector.deleteLine(%line); OfflineEmailMessageVector.insertLine(%line, %text, %id); } OfflineEMailInboxBodyText.setValue(EmailGetTextDisplay(%text)); } //----------------------------------------------------------------------------- function OfflineEM_Browser::onSetSortKey( %this, %sortKey, %isIncreasing ) { $pref::Email::SortColumnKey = %sortKey; $pref::Email::SortInc = %isIncreasing; } //----------------------------------------------------------------------------- function OfflineEM_Browser::onColumnResize( %this, %column, %newSize ) { $pref::Email::Column[%column] = %newSize; } //--- OBJECT WRITE BEGIN --- new GuiChunkedBitmapCtrl(OfflineEmailGui) { profile = "GuiContentProfile"; horizSizing = "right"; vertSizing = "bottom"; position = "0 0"; extent = "640 480"; minExtent = "8 8"; visible = "1"; hideCursor = "0"; bypassHideCursor = "0"; variable = "$ShellBackground"; helpTag = "0"; useVariable = "1"; new ShellPaneCtrl() { profile = "ShellPaneProfile"; horizSizing = "width"; vertSizing = "height"; position = "12 13"; extent = "620 423"; minExtent = "48 92"; visible = "1"; hideCursor = "0"; bypassHideCursor = "0"; helpTag = "0"; text = "OFFLINE EMAIL"; maxLength = "255"; noTitleBar = "0"; new GuiFrameSetCtrl(OfflineEM_Frame) { profile = "GuiDefaultProfile"; horizSizing = "width"; vertSizing = "height"; position = "18 30"; extent = "583 343"; minExtent = "8 8"; visible = "1"; hideCursor = "0"; bypassHideCursor = "0"; helpTag = "0"; columns = "0"; rows = "0 146"; borderWidth = "4"; borderColor = "5 199 145 255"; borderEnable = "dynamic"; borderMovable = "dynamic"; autoBalance = "0"; fudgeFactor = "4"; new ShellFancyArrayScrollCtrl(OfflineEM_BrowserPane) { profile = "ShellServerBrowserProfile"; horizSizing = "right"; vertSizing = "bottom"; position = "0 0"; extent = "583 142"; minExtent = "8 72"; visible = "1"; hideCursor = "0"; bypassHideCursor = "0"; helpTag = "0"; fixedHorizontal = "1"; vertSpacerBitmap = "gui/shll_vertspacer"; horzSpacerBitmap = "gui/shll_horzspacer"; new VirtualScrollCtrl() { profile = "ShellServerBrowserProfile"; horizSizing = "right"; vertSizing = "bottom"; position = "0 16"; extent = "583 126"; minExtent = "8 52"; visible = "1"; hideCursor = "0"; bypassHideCursor = "0"; helpTag = "0"; willFirstRespond = "0"; hScrollBar = "alwaysOff"; vScrollBar = "alwaysOn"; constantThumbHeight = "0"; defaultLineHeight = "15"; childMargin = "0 0"; new VirtualScrollContentCtrl() { profile = "GuiDefaultProfile"; horizSizing = "right"; vertSizing = "bottom"; position = "4 4"; extent = "559 118"; minExtent = "8 8"; visible = "1"; hideCursor = "0"; bypassHideCursor = "0"; helpTag = "0"; new GuiControl() { profile = "GuiDefaultProfile"; horizSizing = "right"; vertSizing = "bottom"; position = "0 0"; extent = "8 59"; minExtent = "8 8"; visible = "1"; hideCursor = "0"; bypassHideCursor = "0"; helpTag = "0"; }; }; }; new GuiEmailBrowser(OfflineEM_Browser) { profile = "ShellServerBrowserProfile"; horizSizing = "right"; vertSizing = "bottom"; position = "0 0"; extent = "563 138"; minExtent = "8 20"; visible = "1"; hideCursor = "0"; bypassHideCursor = "0"; helpTag = "0"; startScrollRegion = "4 0"; headerBitmap = "gui/server_tabs"; sortArrowBitmap = "gui/shll_sortarrow"; fieldBase = "gui/shll_field"; barBase = "gui/shll_bar"; glowOffset = "4"; rowHeight = "19"; headerFontType = "Univers Condensed"; headerFontSize = "16"; headerFontColor = "8 19 6 255"; headerFontColorHL = "25 68 56 255"; separatorColor = "192 192 192 255"; drawSeparators = "0"; headerSort = "1"; allowReposition = "1"; noSelect = "0"; iconBase = "gui/email"; unreadFontType = "Univers Bold"; unreadFontSize = "16"; unreadFontColor = "6 245 215 255"; headerGlowOffset = "4"; }; }; new ShellScrollCtrl(OfflineEM_MessagePane) { profile = "NewScrollCtrlProfile"; horizSizing = "left"; vertSizing = "height"; position = "0 146"; extent = "583 188"; minExtent = "24 52"; visible = "1"; hideCursor = "0"; bypassHideCursor = "0"; helpTag = "0"; willFirstRespond = "1"; hScrollBar = "alwaysOff"; vScrollBar = "alwaysOn"; constantThumbHeight = "0"; defaultLineHeight = "15"; childMargin = "3 3"; fieldBase = "gui/shll_field"; new GuiScrollContentCtrl() { profile = "GuiDefaultProfile"; horizSizing = "right"; vertSizing = "bottom"; position = "7 7"; extent = "553 174"; minExtent = "8 8"; visible = "1"; hideCursor = "0"; bypassHideCursor = "0"; helpTag = "0"; new GuiMLTextCtrl(OfflineEMailInboxBodyText) { profile = "ShellMessageTextProfile"; horizSizing = "width"; vertSizing = "bottom"; position = "0 0"; extent = "551 248"; minExtent = "8 8"; visible = "1"; hideCursor = "0"; bypassHideCursor = "0"; helpTag = "0"; lineSpacing = "2"; allowColorChars = "0"; maxChars = "-1"; deniedSound = "InputDeniedSound"; }; }; }; }; new ShellBitmapButton() { profile = "ShellButtonProfile"; horizSizing = "center"; vertSizing = "top"; position = "260 370"; extent = "100 38"; minExtent = "32 38"; visible = "1"; hideCursor = "0"; bypassHideCursor = "0"; command = "OfflineEmailGui.LoadCache();"; helpTag = "0"; text = "LOAD CACHE"; simpleStyle = "0"; }; }; }; //--- OBJECT WRITE END --- PK G/scripts/autoexec/PK G//scripts/PK 0m+,, Uscripts/autoexec/OfflineEmail.csPK-