亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mdictionaryappui.cpp

?? 在symbian2.0平臺上開發的詞典
?? CPP
字號:
/*
* MDictionary - dictionary program for Symbian cellular phones
*
* Copyright (C) 2005 Egyeki Gergely
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*
*/
// INCLUDE FILES
#include <avkon.hrh>
#include <aknnotewrappers.h>		// CAknErrorNote
#include <stringloader.h>
#include <MDictionary.rsg>
#include <AknWaitNoteWrapper.h>		// CAknWaitNoteWrapper
#include <AknWaitDialog.h>			// for the wait dialog

#include "MDictionary.pan"
#include "MDictionaryAppUi.h"
#include "MDictionaryAppView1.h"
#include "MDictionaryAppView2.h"
#include "MDictionary.hrh"
#include "MDictionaryDocument.h"
#include "SettingsData.h"

#include "Dbhandler.h"
#include "Messages.h"



CMDictionaryAppUi::CMDictionaryAppUi():iDecoratedTabGroup(NULL)
{
}


CMDictionaryAppUi::~CMDictionaryAppUi()
{
	delete iDecoratedTabGroup;
	iDecoratedTabGroup = NULL;
}


void CMDictionaryAppUi::ConstructL()
{
	BaseConstructL(EAknEnableSkin);
	//TabGroup
	CreateTabGroupL();
	//iAppViews
	iAppView1 = CMDictionaryAppView1::NewL();
	AddViewL(iAppView1);
	iAppView2 = CMDictionaryAppView2::NewL();
	AddViewL(iAppView2);
	//Activating
	SetDefaultViewL(*iAppView1);
	iTabGroup->SetActiveTabById(ELang1MenuTab);
}


void CMDictionaryAppUi::CreateTabGroupL()
{
    CEikStatusPane* sp = StatusPane();
    // Fetch pointer to the default title pane control
    iTitlePane = 
		STATIC_CAST(CAknTitlePane*, sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle)));
    // Fetch pointer to the default navi pane control
    iNaviPane = 
		(CAknNavigationControlContainer*)sp->ControlL(TUid::Uid(EEikStatusPaneUidNavi));
    iDecoratedTabGroup = iNaviPane->ResourceDecorator();
    if (iDecoratedTabGroup)
    {
        iTabGroup = (CAknTabGroup*) iDecoratedTabGroup->DecoratedControl();
    }
}


void CMDictionaryAppUi::SetTabGroupTitleL()
{
	iTabGroup->ReplaceTabTextL(ELang1MenuTab, GetDocument()->iDB->GetDBTitle1L()->Des());
	iTabGroup->ReplaceTabTextL(ELang2MenuTab, GetDocument()->iDB->GetDBTitle2L()->Des());
}


CMDictionaryDocument* CMDictionaryAppUi::GetDocument()
{
	return static_cast<CMDictionaryDocument*>( Document() );
}



void CMDictionaryAppUi::HandleCommandL( TInt aCommand )
{
	//Commands
    switch( aCommand )
    {
        case EEikCmdExit:
        case EAknSoftkeyExit:
			SaveL();
            Exit();
            break;

        case EMDictionarySearch1:
			{
				Searching(0,0);
			}
			break;
        case EMDictionarySearchEx1:
			{
				Searching(0,1);
			}
			break;
        case EMDictionarySearch2:
			{
				Searching(1,0);
			}
			break;
        case EMDictionarySearchEx2:
			{
				Searching(1,1);
			}
			break;
        case EMDictionaryChangeDic:
			{
				ChangeDBL();
			}
			break;
        case EMDictionaryAboutPrg:
			{
				CMessages::ShowAboutPrgL();
			}
			break;
        case EMDictionaryAboutDic:
			{
				CMessages::ShowAboutDicL(GetDocument()->iDB->GetDicTitle1L(),
										GetDocument()->iDB->GetDicTitle2L(),
										GetDocument()->iDB->GetAuthorsL(),
										GetDocument()->iDB->GetVersionL());
			}
			break;
        default:
            Panic( EMDictionaryUi );
            break;
    }
}



TKeyResponse CMDictionaryAppUi::HandleKeyEventL( 
			const TKeyEvent& aKeyEvent, TEventCode /*aType*/)
{

	TInt active = iTabGroup->ActiveTabIndex();
	TInt count = iTabGroup->TabCount();

	switch (aKeyEvent.iCode)
		{
        case EKeyLeftArrow:
	        if (active > 0)
		    {
			    active--;
				iTabGroup->SetActiveTabByIndex(active);
                ActivateLocalViewL(TUid::Uid(iTabGroup->TabIdFromIndex(active)));
	        }
		    break;
        case EKeyRightArrow:
	        if (active + 1 < count)
		    {
			    active++;
                iTabGroup->SetActiveTabByIndex(active);
	            ActivateLocalViewL(TUid::Uid(iTabGroup->TabIdFromIndex(active)));
		    }
			break;
        default:
	        return EKeyWasNotConsumed;
		    break;
		}
    return EKeyWasConsumed;
}


void CMDictionaryAppUi::HandleForegroundEventL(TBool aForeground)
{
	if(!aForeground)
	{
		//Lost focus
	}
	else
	{
	}
}



void CMDictionaryAppUi::InitDBL()
{
	//Set up the dictionary database file
	GetDocument()->iDB->SetActDB( GetDocument()->iData->GetActDBFile() );
	if( GetDocument()->iDB->DicExist == EFalse )
	{	
		CMessages::ShowDicNotExisErrorL();
		User::Exit(KErrNone);
	}
	else
	{
		if( GetDocument()->iDB->DicSelected == EFalse )
		{
			//Choosing a dictionary
			GetDocument()->iDB->SetActDBInt( CMessages::ShowSelectDicL(GetDocument()->iDB->iFormattedDicList) );
			GetDocument()->iData->SetActDBFile( GetDocument()->iDB->GetActDB() );
		}
		SetTabGroupTitleL();
	}
}



void CMDictionaryAppUi::ChangeDBL()
{
	//Reset the dictionary database file
	//Choosing a dictionary
	TInt res = CMessages::ShowChangeDicL( GetDocument()->iDB->iFormattedDicList );
	if( res >= 0 )
	{
		TInt old = GetDocument()->iDB->GetActDBInt();
		if( old != res )
		{
			GetDocument()->iDB->SetActDBInt( res );
			GetDocument()->iData->SetActDBFile( GetDocument()->iDB->GetActDB() );
			SetTabGroupTitleL();
			//Activate the other view
			TInt active = iTabGroup->ActiveTabIndex();
			if( active == 0 )
			{ active++; }
			else { active--; }
			iTabGroup->SetActiveTabByIndex(active);
			ActivateLocalViewL(TUid::Uid(iTabGroup->TabIdFromIndex(active)));
		}
	}
}


void CMDictionaryAppUi::Searching(TInt aLang, TInt aType)
{
	//Checking if the search is valid
	TBool ok = ETrue;
	if( aLang == 0 )
	{
		if( iAppView1->GetWordL()->CompareC( _L("") ) == 0 )
		{
			CMessages::ShowEmptyErrorL();
			ok = EFalse;
		}
	}
	else
	{
		if( iAppView2->GetWordL()->CompareC( _L("") ) == 0 )
		{
			CMessages::ShowEmptyErrorL();
			ok = EFalse;
		}
	}

	//Loading Progress if all is ok
	//wait note
	if( ok != EFalse )
	{
		CAknWaitNoteWrapper* waitNote = CAknWaitNoteWrapper::NewL();
		CleanupStack::PushL( reinterpret_cast<CBase*>(waitNote) );
		if( aLang == 0 )
		{ GetDocument()->iDB->SetParameters( iAppView1->GetWordL(), aLang, aType, 1); }
		else
		{ GetDocument()->iDB->SetParameters( iAppView2->GetWordL(), aLang, aType, 1); }

		waitNote->ExecuteL(
			R_SEARCHING_NOTE, *GetDocument()->iDB, ETrue, CAknNoteDialog::ENoTone);
		CleanupStack::PopAndDestroy( waitNote );

		if( aLang == 0 )
		{ CMessages::ShowSearchResultsL(
				GetDocument()->iDB->iResultList, iAppView1->GetWordL(), 0); }
		else
		{ CMessages::ShowSearchResultsL(
				GetDocument()->iDB->iResultList, iAppView2->GetWordL(), 1); }
	}
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久网站最新地址| 激情久久五月天| 精品一区二区三区的国产在线播放| 国产91在线看| 欧美一级夜夜爽| 亚洲一二三专区| av成人免费在线观看| www精品美女久久久tv| 亚洲第四色夜色| 色香色香欲天天天影视综合网| 久久欧美一区二区| 六月丁香综合在线视频| 欧美日韩dvd在线观看| 亚洲嫩草精品久久| 99久久免费视频.com| 国产亚洲人成网站| 国内精品自线一区二区三区视频| 欧美视频中文一区二区三区在线观看 | 国产成人一区二区精品非洲| 欧美疯狂做受xxxx富婆| 欧美精品三级日韩久久| 欧美韩国日本不卡| 极品美女销魂一区二区三区免费| 欧美精品aⅴ在线视频| 一区二区三区国产精华| 91国产丝袜在线播放| 最新不卡av在线| www.66久久| 久久看人人爽人人| 国产九九视频一区二区三区| 精品国产乱码久久久久久久| 久久精品av麻豆的观看方式| 日韩欧美一区在线观看| 另类小说图片综合网| 精品成人佐山爱一区二区| 国内精品久久久久影院一蜜桃| 日韩精品一区二区在线| 久久99热99| 国产精品美女一区二区| 91社区在线播放| 亚洲午夜在线视频| 欧美一区二区美女| 国产成人免费av在线| 国产精品高潮久久久久无| 97se狠狠狠综合亚洲狠狠| 亚洲免费观看在线视频| 欧美日韩高清一区二区三区| 免费av成人在线| 国产午夜精品福利| 91麻豆免费看| 免费高清在线视频一区·| 久久久三级国产网站| 91在线porny国产在线看| 亚洲自拍偷拍av| 精品久久人人做人人爱| 成人中文字幕在线| 一区二区高清视频在线观看| 欧美一区二区三区免费视频| 国产福利精品一区二区| 亚洲制服欧美中文字幕中文字幕| 欧美精品在线一区二区| 国产99久久久国产精品| 一区二区三区欧美日韩| 日韩精品一区二区三区三区免费| 国产电影一区在线| 午夜精品久久久久久久久| 久久免费午夜影院| 欧美日韩精品免费观看视频| 国产精品一级黄| 亚洲高清视频在线| 欧美国产成人精品| 91精品国产色综合久久不卡蜜臀 | 国产精品免费aⅴ片在线观看| 在线日韩av片| 国产精品一区二区x88av| 一区二区三区精品视频在线| 欧美变态tickle挠乳网站| 日本精品裸体写真集在线观看| 免费成人在线播放| 一区二区三区高清不卡| 久久久久久一二三区| 欧美高清精品3d| 北岛玲一区二区三区四区| 久久99精品久久久| 亚洲国产一区二区在线播放| 欧美国产1区2区| 精品久久久久久久久久久久久久久| 一本大道久久a久久精二百| 国产精品自产自拍| 麻豆精品一区二区| 性做久久久久久免费观看欧美| 中文字幕在线不卡视频| 精品国产123| 制服丝袜亚洲精品中文字幕| 在线观看日韩电影| 97超碰欧美中文字幕| 国产成人亚洲综合a∨婷婷图片| 蜜臀精品一区二区三区在线观看 | 91黄色在线观看| 成人黄色大片在线观看| 国产精品1024| 韩国欧美国产1区| 美美哒免费高清在线观看视频一区二区 | 色狠狠一区二区三区香蕉| 国产91丝袜在线观看| 国产福利一区在线| 国产成人免费在线视频| 国产在线一区二区| 美国一区二区三区在线播放| 日本va欧美va精品| 奇米精品一区二区三区在线观看| 视频一区国产视频| 日韩黄色小视频| 天堂午夜影视日韩欧美一区二区| 亚洲国产精品久久久久婷婷884| 亚洲黄色在线视频| 亚洲一区国产视频| 亚洲一区二区视频| 视频一区视频二区在线观看| 日韩av电影天堂| 蜜桃av一区二区在线观看| 久久超碰97中文字幕| 国内精品国产成人国产三级粉色| 国产乱妇无码大片在线观看| 成人亚洲精品久久久久软件| 91老师片黄在线观看| av网站免费线看精品| 91国偷自产一区二区三区成为亚洲经典 | 久久机这里只有精品| 国产在线精品国自产拍免费| 国产成人鲁色资源国产91色综 | 久久精品久久综合| 国产精品亚洲人在线观看| 成人a免费在线看| 91精彩视频在线观看| 欧美一区二区免费| 欧美国产精品劲爆| 亚洲动漫第一页| 精品一区二区三区欧美| 成人av电影在线| 欧美高清视频一二三区 | 欧美日本国产视频| 国产亚洲精品超碰| 亚洲靠逼com| 蜜臀av性久久久久蜜臀av麻豆| 成人免费视频视频在线观看免费 | 337p日本欧洲亚洲大胆色噜噜| 久久久综合精品| 亚洲午夜免费视频| 韩国av一区二区| 欧美三级电影精品| 久久久久久久综合日本| 亚洲午夜精品网| 国产suv一区二区三区88区| 在线日韩一区二区| 欧美激情一区二区三区四区| 亚洲一级二级三级| 成人黄色小视频在线观看| 在线播放/欧美激情| 中文字幕一区二| 国产一区福利在线| 欧美三级欧美一级| 中文字幕一区二区不卡| 极品少妇xxxx精品少妇| 精品1区2区3区| 国产精品成人在线观看| 精品一区二区免费视频| 91传媒视频在线播放| 欧美国产国产综合| 久久精品国产99| 91.xcao| 亚洲一区二区三区四区的| 成人性生交大合| 精品欧美久久久| 偷拍与自拍一区| 色婷婷av一区二区三区之一色屋| 久久久三级国产网站| 美女在线一区二区| 欧美色图天堂网| 亚洲视频一二区| 国产精品18久久久久久久久| 91精品国产美女浴室洗澡无遮挡| 亚洲欧美国产77777| 成人ar影院免费观看视频| 亚洲精品一区二区三区99| 日本aⅴ免费视频一区二区三区 | 成人激情av网| 国产精品欧美一区喷水| 国产成人综合视频| 久久精品夜色噜噜亚洲a∨| 国产一二精品视频| wwwwww.欧美系列| 久久99久久久欧美国产| 日韩免费在线观看| 六月丁香婷婷色狠狠久久| 91精品国产福利| 精品亚洲porn| 国产视频一区二区在线| 国产剧情一区二区| 国产日产欧产精品推荐色|