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

📄 dialogs.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
📖 第 1 页 / 共 3 页
字号:

void CAutostartDialog::PreLayoutDynInitL()
{
	loadBootFile();
	populateAppArray();

	int dump;
	TKeyArrayFix keyArray = TKeyArrayFix(0, ECmpNormal);
	
	for (int i = 0; i < MAX_AUTOSTART - 1; i++)
	{
		CEikChoiceList *myChoice1 = STATIC_CAST(CEikChoiceList*, Control(cAutoStart1 + i));
		myChoice1->SetArrayL(appListCaption);
		myChoice1->SetArrayExternalOwnership(ETrue);
		if (appListPath->Find(autoStartConfig.autoStartApp[i], keyArray, dump) == 0)
		{
			myChoice1->SetCurrentItem(dump);
		}
		else
		{
			myChoice1->SetCurrentItem(0);
		}
	}
}

TBool CAutostartDialog::OkToExitL(TInt aButtonId)
{
	if (aButtonId == EEikBidOk)
	{
		for (int i = 0; i < MAX_AUTOSTART - 1; i++)
		{
			CEikChoiceList *myChoice1 = STATIC_CAST(CEikChoiceList*, Control(cAutoStart1 + i));
			if (myChoice1->CurrentItem() > 0)
			{
				autoStartConfig.autoStartApp[i].Copy(appListPath->At(myChoice1->CurrentItem()));
				autoStartConfig.autoStartUid[i] = appListUid->At(myChoice1->CurrentItem());
				TRAPD(err, QikFileUtils::MakeAppDocumentFileNameL(autoStartConfig.autoStartDefaultDoc[i], autoStartConfig.autoStartUid[i]));
				if (err != KErrNone)
					autoStartConfig.autoStartDefaultDoc[i].Copy(_L(""));
			}
			else
			{
				autoStartConfig.autoStartApp[i].Copy(_L(""));
				autoStartConfig.autoStartUid[i] = KNullUid;
				autoStartConfig.autoStartDefaultDoc[i].Copy(_L(""));
			}
		}
		if (saveBootFile() != 0)
			iEikonEnv->InfoMsgWithAlignment(TGulAlignment(EHRightVCenter), R_TBUF_ERRSAVECONFIG);
	}
	return ETrue;
}

TUint CAutostartDialog::loadBootFile(void)
{
	RFile inStream;
	TInt retVal;
	
	retVal = 1;
	if (inStream.Open(iEikonEnv->Static()->FsSession(), _L("C:\\SMan.boot"), EFileRead) == KErrNone)
	{
		TPckg<CAutoStartConfig> pkgConfigData(autoStartConfig);
		if (inStream.Read(pkgConfigData) == KErrNone)
			retVal = 0;
		inStream.Close();
	}
	return retVal;
}

TUint CAutostartDialog::saveBootFile(void)
{
	RFile outStream;
	TInt retVal;
	
	retVal = 1;
	if (outStream.Replace(iEikonEnv->Static()->FsSession(), _L("C:\\SMan.boot"), EFileRead) == KErrNone)
	{
		TPckg<CAutoStartConfig> pkgConfigData(autoStartConfig);
		if (outStream.Write(pkgConfigData) == KErrNone)
			retVal = 0;
		outStream.Close();
	}
	return retVal;
}

/*************************************************************
*
* Bluebeam log dialog.
*
**************************************************************/

CBluebeamLogDialog::CBluebeamLogDialog(CLogger *logObj)
{
	localLogObj = logObj;
}

void CBluebeamLogDialog::PostLayoutDynInitL()
{
	localLogObj->logDialog = this;
}

CBluebeamLogDialog::~CBluebeamLogDialog()
{
	localLogObj->logDialog = NULL;
}

void CBluebeamLogDialog::PreLayoutDynInitL()
{
	CEikGlobalTextEditor* textEditor = STATIC_CAST(CEikGlobalTextEditor*,Control(cBluebeamLog));
	
	textEditor->CreateScrollBarFrameL();
	textEditor->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EAuto, CEikScrollBarFrame::EAuto);
    
	ButtonGroupContainer().DimCommand(EEikBidYes, ETrue);
}

TBool CBluebeamLogDialog::OkToExitL(TInt aButtonId)
{
	if (aButtonId != EEikBidYes)
		static_cast<CSMan2AppUi*>(CEikonEnv::Static()->EikAppUi())->iFileView->blueBeam->Cancel();
	return ETrue;
}

/*************************************************************
*
* Bluejack notifications dialog.
*
**************************************************************/
CBluejackNotifications::CBluejackNotifications(CConfig *cData)
{
	configData = cData;
}

CBluejackNotifications::~CBluejackNotifications()
{
}

void CBluejackNotifications::PreLayoutDynInitL()
{
	CEikCheckBox *controlVibraNotify = STATIC_CAST(CEikCheckBox*, Control(cVibraNotify));
	CEikCheckBox *controlSystemMsgNotify = STATIC_CAST(CEikCheckBox*, Control(cSystemMsgNotify));
	if (configData->showBluejackSysMsg == true)
		controlSystemMsgNotify->SetState(CEikButtonBase::ESet);
	if (configData->vibraNotify == true)
		controlVibraNotify->SetState(CEikButtonBase::ESet);
	CEikChoiceList *audioClip = STATIC_CAST(CEikChoiceList*, Control(cAudioFileName));
	audioClip->SetArrayL(R_ARRAY_AUDIONOTIFY);
	if (configData->audioFileName.Length() == 0)
		audioClip->SetCurrentItem(0);
	else
	{
		selectedAudioFileName.Copy(configData->audioFileName);
		TParsePtr parsedAudioFileName(configData->audioFileName);
		audioClip->DesCArray()->AppendL(parsedAudioFileName.NameAndExt());
		audioClip->SetCurrentItem(2);
	}
}

TBool CBluejackNotifications::OkToExitL(TInt aButtonId)
{
	if (aButtonId == EEikBidOk)
	{
		CEikCheckBox *controlVibraNotify = STATIC_CAST(CEikCheckBox*, Control(cVibraNotify));
		CEikCheckBox *controlSystemMsgNotify = STATIC_CAST(CEikCheckBox*, Control(cSystemMsgNotify));		
		if (controlVibraNotify->State() == CEikButtonBase::ESet)
			configData->vibraNotify = ETrue;
		else
			configData->vibraNotify = EFalse;
		if (controlSystemMsgNotify->State() == CEikButtonBase::ESet)
			configData->showBluejackSysMsg = ETrue;
		else
			configData->showBluejackSysMsg = EFalse;
		CEikChoiceList *audioClip = STATIC_CAST(CEikChoiceList*, Control(cAudioFileName));
		if (audioClip->CurrentItem() == 0)
			configData->audioFileName.Copy(_L(""));
		else
			configData->audioFileName.Copy(selectedAudioFileName);
	}
	return ETrue;
}

void CBluejackNotifications::HandleControlStateChangeL(TInt aControlId)
{
	if (aControlId == cAudioFileName)
	{
		CEikChoiceList *audioClip = STATIC_CAST(CEikChoiceList*, Control(cAudioFileName));
		if (audioClip->CurrentItem() == 1)
		{
			pickAudioFile();
		}
	}
}

void CBluejackNotifications::pickAudioFile()
{
	CDesCArray* audioMimeArray = new(ELeave) CDesCArrayFlat(2);
	CEikChoiceList *audioClip = STATIC_CAST(CEikChoiceList*, Control(cAudioFileName));
	audioMimeArray->AppendL(_L("audio/x-wav"));		// WAV
	audioMimeArray->AppendL(_L("audio/x-midi"));		// MID
	audioMimeArray->AppendL(_L("audio/x-rmf"));		// RMF
	if (CQikSelectMediaFileDlg::RunDlgLD(*audioMimeArray, selectedAudioFileName))
	{
		if (audioClip->DesCArray()->MdcaCount() > 2)
			audioClip->DesCArray()->Delete(2);
		TParsePtr parsedAudioFileName(selectedAudioFileName);
		configData->audioFileName.Copy(selectedAudioFileName);
		audioClip->DesCArray()->AppendL(parsedAudioFileName.NameAndExt());
		audioClip->SetCurrentItem(2);
	}
	else
	{
		audioClip->SetCurrentItem(0);
	}
	audioClip->DesCArray()->Compress();
	delete audioMimeArray;
}

/*************************************************************
*
* Edit the bluejack vcard
*
**************************************************************/
CBluejackMessageDialog::CBluejackMessageDialog(CScanner *scannerObj)
{
	localScannerObj = scannerObj;
}

CBluejackMessageDialog::~CBluejackMessageDialog()
{
}

void CBluejackMessageDialog::makeVCard(void)
{
	RFile outStream;
	TBuf8<MAX_VCARD_SIZE> vcardBuffer8bit;
	
	vcardBuffer8bit.Copy(currBJackMsg);
	vcardBuffer8bit.Insert(0, _L8("BEGIN:VCARD\r\nVERSION:2.1\r\nN:"));
	vcardBuffer8bit.Append(_L8("\r\nEND:VCARD"));
	if (outStream.Replace(iEikonEnv->Static()->FsSession(), localScannerObj->vCardNames[0], EFileRead) == KErrNone)
	{
		outStream.Write(vcardBuffer8bit);
		outStream.Close();
	}
}

TBool CBluejackMessageDialog::OkToExitL(TInt aButtonId)
{
	if (aButtonId == EEikBidOk)
	{
		CEikGlobalTextEditor* textEditor = STATIC_CAST(CEikGlobalTextEditor*,Control(cBluejackMessage));
		textEditor->GetText(currBJackMsg);
		makeVCard();
	}
	return ETrue;
}

void CBluejackMessageDialog::PreLayoutDynInitL()
{
	// Read the existing vcard
	
	RFile inStream;
	TBuf8<MAX_VCARD_SIZE> buffer8bit;

	buffer8bit.Copy(_L(""));
	if (inStream.Open(iEikonEnv->Static()->FsSession(), localScannerObj->vCardNames[0], EFileRead) == KErrNone)
	{
		TInt fileSize;
		
		inStream.Size(fileSize);
		if ((fileSize > 1) && (fileSize < MAX_VCARD_SIZE))
			inStream.Read(buffer8bit);
		inStream.Close();
	}
	currBJackMsg.Copy(buffer8bit);
	TInt nameField = currBJackMsg.Find(_L("\r\nN:"));
	if (nameField != KErrNotFound)
	{
		currBJackMsg = currBJackMsg.Mid(nameField + 4, currBJackMsg.Length() - nameField - 4);
		nameField = currBJackMsg.Find(_L("\r\n"));
		if (nameField != KErrNotFound)
			currBJackMsg.SetLength(nameField);
	}
	if (currBJackMsg.Length() > MAX_VCARD_FULLNAME)
		currBJackMsg.SetLength(MAX_VCARD_FULLNAME);
	CEikGlobalTextEditor* textEditor = STATIC_CAST(CEikGlobalTextEditor*,Control(cBluejackMessage));
	textEditor->SetTextL(&currBJackMsg);
}

/*************************************************************
*
* Fileman log dialog - with wait
*
**************************************************************/
void CFileManLogDialog::PostLayoutDynInitL()
{
	CEikGlobalTextEditor* textEditor = STATIC_CAST(CEikGlobalTextEditor*,Control(cFileManProgressText));
	
	textEditor->CreateScrollBarFrameL();
	textEditor->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EAuto, CEikScrollBarFrame::EAuto);
	textEditor->SetTextL(&text);
	if (!showOverwrite)
	{
		ButtonGroupContainer().DimCommand(EEikBidOverwrite, ETrue);
		ButtonGroupContainer().DimCommand(EEikBidOverwriteAll, ETrue);
	}
}

/*************************************************************
*
* Fileman rename dialog
*
**************************************************************/
void CFileManRenDialog::PreLayoutDynInitL()
{
	static_cast<CEikGlobalTextEditor*>(Control(cFileManNewName))->SetTextL(&fileName);
	fileName.Insert(0, filePath);
}

TBool CFileManRenDialog::OkToExitL(TInt aButtonId)
{
	TBool retVal;
		
	retVal = EFalse;
	if ((aButtonId == EEikBidAbort) || (aButtonId == EEikBidSkip))
		retVal = ETrue;
	else if (aButtonId == EEikBidOk)
	{
		static_cast<CEikGlobalTextEditor*>(Control(cFileManNewName))->GetText(newName);

		TParsePtr sanityCheck(newName);
		if (!sanityCheck.PathPresent())
		{
			newName.Insert(0, filePath);
			if (EikFileUtils::RenameFile(fileName, newName, 0) == KErrNone)
				retVal = ETrue;
			else
				CEikonEnv::Static()->InfoMsg(R_TBUF_FILEMAN_ERRRENAME);
		}
		else
			CEikonEnv::Static()->InfoMsg(R_TBUF_FILEMAN_INVALIDFILENAME);
	}
	return retVal;
}

/*************************************************************
*
* Fileman new folder dialog
*
**************************************************************/
TBool CFileManNewDirDialog::OkToExitL(TInt aButtonId)
{
	TBool retVal;
	retVal = EFalse;

	if (aButtonId == EEikBidOk)
	{
		TFileName newName;
		RFs fileServer;
		
		static_cast<CEikGlobalTextEditor*>(Control(cFileManNewName))->GetText(newName);
		User::LeaveIfError(fileServer.Connect());
		newName.Insert(0, currentPath);
		newName.Append(_L("\\"));
		if (fileServer.MkDirAll(newName) == KErrNone)
			retVal = ETrue;
		else
			CEikonEnv::Static()->InfoMsg(R_TBUF_FILEMAN_ERRMKDIR);
		fileServer.Close();
	}
	return retVal;
}

/*************************************************************
*
* Fileman attributes dialog
*
**************************************************************/
CFileManAttrDialog::CFileManAttrDialog()
{
	User::LeaveIfError(fs.Connect());	
}

CFileManAttrDialog::~CFileManAttrDialog()
{
	fs.Close();
}

TKeyResponse CFileManAttrDialog::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
{
	if (aType == EEventKey)
	{
		if (aKeyEvent.iCode == EQuartzKeyTwoWayDown)
		{
			static_cast<CEikGlobalTextEditor*>(Control(cFileAttName))->MoveDisplayL(TCursorPosition::EFPageDown);
			static_cast<CEikGlobalTextEditor*>(Control(cFileAttName))->UpdateScrollBarsL();
			return EKeyWasConsumed;
		}
		else if (aKeyEvent.iCode == EQuartzKeyTwoWayUp)
		{

⌨️ 快捷键说明

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