⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flipcloseview.cpp

📁 手机文件浏览器 Here are the sources to SMan v1.2c 1.2 is a major jump from v1.1. You will see this from the
💻 CPP
字号:
#include "flipcloseview.h"
#include "sman.h"
#include <SMan.rsg>

/*************************************************************
*
* Flip closed view
*
**************************************************************/

CSMan2FlipCloseView::CSMan2FlipCloseView(CConfig *cData) : CViewBase(cData)
{
}

TBool CSMan2FlipCloseView::ViewScreenModeCompatible(TInt aScreenMode)
{
	return (aScreenMode == 1);
}

TVwsViewIdAndMessage CSMan2FlipCloseView::ViewScreenDeviceChangedL()
{
	return TVwsViewIdAndMessage(TVwsViewId(KUidSMan2App, KUidTaskView));
}

void CSMan2FlipCloseView::ViewDeactivated()
{
	activateCount--;
	if (activateCount <= 0)
	{
		MakeVisible(EFalse);
		static_cast<CEikAppUi*>(iEikonEnv->AppUi())->RemoveFromStack(this);

		// I think i found a bug in SE's flipclosed mode implementation. Doing this line of
		// code here will corrupt the graphic of the scrollbar for iBJackView.
		
		// Route logging back to original location
		//static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->oScanner->logHelper->logTextBox = static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->bluejackLog;
		//static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->bluejackLog->SetTextL(&(static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->oScanner->logBuffer));
		//static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->bluejackLog->SetCursorPosL(static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->bluejackLog->TextLength(), 0);
	}
}

void CSMan2FlipCloseView::ViewActivatedL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
{
	if (activateCount <= 0)
	{
		doViewActivated();
		bluejackLog->SetExtent(TPoint(0, iTitleBar->Position().iY + iTitleBar->Size().iHeight), 
			TSize((CEikonEnv::Static()->ScreenDevice())->SizeInPixels().iWidth, (CEikonEnv::Static()->ScreenDevice())->SizeInPixels().iHeight - 10 - iTitleBar->Size().iHeight));
		static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->oScanner->logHelper->logTextBox = bluejackLog;
		static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->oScanner->logHelper->updateLog(NULL, 0, CLogger::logAll);
	}
}

TVwsViewId CSMan2FlipCloseView::ViewId() const
{
	return TVwsViewId(KUidSMan2App, KUidFlipclosedView);
}

TKeyResponse CSMan2FlipCloseView::HandleKey(TInt iScanCode)
{
	if ((iScanCode == EStdKeyDevice3) || (iScanCode == EStdKeyDeviceE))
	{
		// Back key. Device3 = back button, DeviceE = jogdial push
		static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->SetAppPosition(EFalse);
		return EKeyWasConsumed;
	}
	else if ((iScanCode == EStdKeyDevice9) || (iScanCode == EStdKeyDeviceD))
	{
		// application key. Device9 = option button, DeviceD = jogdial pull

		static_cast<CSMan2AppUi*>(CEikonEnv::Static()->AppUi())->LaunchPopupMenuL(R_FC_BLUEJACK_MENU, 
			TPoint(bluejackLog->Size().iWidth, bluejackLog->Size().iHeight + 10 + bluejackLog->Position().iY), EPopupTargetBottomRight);
		return EKeyWasConsumed;
	}
	return EKeyWasNotConsumed;
}

TKeyResponse CSMan2FlipCloseView::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType)
{
	if (aType == EEventKey)
	{
		if (aKeyEvent.iCode == EQuartzKeyTwoWayDown)
		{
			bluejackLog->MoveDisplayL(TCursorPosition::EFLineDown);
	        bluejackLog->UpdateScrollBarsL();
			return EKeyWasConsumed;
		}
		else if (aKeyEvent.iCode == EQuartzKeyTwoWayUp)
		{
        	bluejackLog->MoveDisplayL(TCursorPosition::EFLineUp);
        	bluejackLog->UpdateScrollBarsL();
			return EKeyWasConsumed;
		}
		TKeyResponse aKey = HandleKey(aKeyEvent.iScanCode);
		if (aKey == EKeyWasConsumed)
			return EKeyWasConsumed;
	}
	
	return EKeyWasNotConsumed;
}

CSMan2FlipCloseView::~CSMan2FlipCloseView()
{
}

void CSMan2FlipCloseView::ConstructL(const TRect& aRect)
{
	//popupActive = EFalse;
	
	CreateWindowL();
	SetExtent(aRect.iTl, aRect.Size());

	// CEikEdwin::EReadOnly;
	bluejackLog = new (ELeave) CEikGlobalTextEditor;
	bluejackLog->ConstructL(this, 18, MAX_LOG_LINES * MAX_LOG_LINE_SIZE, EEikEdwinInclusiveSizeFixed | CEikEdwin::EReadOnly, EGulFontControlAll, EGulAllFonts);
	// This setting doesn't really matter since this control is dynamically adjusted when the view is activated
	bluejackLog->SetExtent(TPoint(0, 30), TSize(aRect.Size().iWidth, 144 - 10)); //aRect.Size().iHeight - EQikToolbarHeight - 10));
	bluejackLog->CreateScrollBarFrameL();
	bluejackLog->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
	controlsArray->AppendL(bluejackLog);

	iTitleBar = new (ELeave) CEikMover;
	iTitleBar->SetExtent(TPoint(0, 0), TSize(aRect.Size().iWidth, 25));
	iTitleBar->SetContainerWindowL(*this);
	HBufC* dataBuffer = CEikonEnv::Static()->AllocReadResourceL(R_TBUF_FC_BLUEJACKTXT);
	iTitleBar->SetText(dataBuffer);
	controlsArray->AppendL(iTitleBar);

	viewId = CSMan2AppUi::EViewFlipClosed;
	bjackIconPosition = TPoint(2, bluejackLog->Size().iHeight + 2)	;
	initBJackIcon();

	MakeVisible(EFalse);
	ActivateL();
}

void CSMan2FlipCloseView::HandleControlEventL(CCoeControl* /*aControl*/, TCoeEvent /*aEventType*/)
{
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -