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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mainfrm.cpp.svn-base

?? wince c++ 下 開發(fā)的 rss 閱讀器源代碼
?? SVN-BASE
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
/**
 *  MainFrm.cpp
 *
 *  Copyright (C) 2008  David Andrs <pda@jasnapaka.com>
 *
 *  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, see <http://www.gnu.org/licenses/>.
 *
 */

#include "StdAfx.h"
#include "prssr.h"
#include "../share/UIHelper.h"
#include "../share/reg.h"
#include "../share/fs.h"

#include "MainFrm.h"
#include "FeedView.h"
#include "SummaryView.h"
#include "misc/icon.h"

#include "SiteManagerDlg.h"
#include "KeywordManagerDlg.h"
#include "ErrorsDlg.h"
#include "UpdateSitesDlg.h"

#include "ctrls/CePropertySheet.h"

#include "Config.h"
#include "Appearance.h"

#include "Site.h"
#include "misc/shnotif.h"

// info
#include "InfoGeneralPg.h"
#include "InfoChannelPg.h"
#include "InfoDescriptionPg.h"

#include "Properties.h"

// options
#include "OptGeneralPg.h"
#include "OptCachePg.h"
#include "OptRetrievalPg.h"
#include "OptSyncPg.h"
#include "OptConnectionPg.h"
#include "OptAppearancePg.h"
#include "../share/notif.h"

#include "RewritingDlg.h"
// cache manager
#include "CacheMan.h"

#include "sync/GReaderSync.h"
#include "sync/NetworkSync.h"
#include "net/Connection.h"

#ifdef MYDEBUG
#undef THIS_FILE
static TCHAR THIS_FILE[] = _T(__FILE__);
#include "debug\crtdbg.h"
#define new MYDEBUG_NEW
#endif

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define ID_MENU_MY_CHANNELS				0x1FFF
#define ID_MENU_SITE_BASE				0x1000


// width of icon in the topbar + width of drop-down button + margin + width of sort indicator
#define CX_ICON							SCALEX(22 + 17)

// top bar icon indexes
#define TOPBAR_IMAGE_COUNT				6

#define TOPBAR_IMAGE_OK					0
#define TOPBAR_IMAGE_FOLDER				1
#define TOPBAR_IMAGE_ERROR				2
#define TOPBAR_IMAGE_LOADING			3

#define TOPBAR_IMAGE_ASC				4
#define TOPBAR_IMAGE_DESC				5

// icons for enclosures
#define ICON_SITE						0
#define ICON_AUDIO						4
#define ICON_VIDEO						6
#define ICON_IMAGE						8
#define ICON_OTHER						10

//


DWORD WINAPI LoadSitesStubProc(LPVOID lpParameter) {
	CMainFrame *frame = (CMainFrame *) lpParameter;
	frame->LoadSites();
	return 0;
}

DWORD WINAPI SaveSitesStubProc(LPVOID lpParameter) {
	CMainFrame *frame = (CMainFrame *) lpParameter;
	frame->SaveSitesThread();
	return 0;
}

DWORD WINAPI PreloadSitesStubProc(LPVOID lpParameter) {
	CMainFrame *frame = (CMainFrame *) lpParameter;
	frame->PreloadThread();
	return 0;
}

DWORD WINAPI SyncItemsStubProc(LPVOID lpParameter) {
	CMainFrame *frame = (CMainFrame *) lpParameter;
	frame->SyncItemsThread();
	return 0;
}

//// forward declaration
//DWORD WINAPI PeriodicUpdateThreadStub(LPVOID lpParameter);

/////////////////////////////////////////////////////////////////////////////
// CMainFrame

IMPLEMENT_DYNAMIC(CMainFrame, CFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
	//{{AFX_MSG_MAP(CMainFrame)
	ON_WM_CREATE()
	ON_WM_SETFOCUS()
	ON_WM_SIZE()
//	ON_WM_INITMENUPOPUP()
	ON_WM_TIMER()
	ON_WM_KEYDOWN()
	ON_WM_KEYUP()
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONUP()
	ON_WM_MOUSEMOVE()
	//}}AFX_MSG_MAP
	ON_WM_ENTERMENULOOP()

	ON_COMMAND(ID_FILE_INFORMATION, OnFileInformation)
	ON_UPDATE_COMMAND_UI(ID_FILE_INFORMATION, OnUpdateFileInformation)

	ON_COMMAND(ID_FILE_PROPERTIES, OnFileProperties)
	ON_UPDATE_COMMAND_UI(ID_FILE_PROPERTIES, OnUpdateFileProperties)

	ON_COMMAND(ID_WORK_OFFLINE, OnFileWorkOffline)
	ON_COMMAND(ID_CACHE_FLAGGED, OnFileCacheFlagged)
	ON_COMMAND(ID_CACHE_UNREAD, OnFileCacheUnread)

	ON_COMMAND(ID_TOOLS_UPDATEALLCHANNELS, OnToolsUpdateAllChannels)
	ON_UPDATE_COMMAND_UI(ID_TOOLS_UPDATEALLCHANNELS, OnUpdateToolsUpdateAllChannels)
	ON_COMMAND(ID_TOOLS_UPDATECHANNELS, OnToolsUpdateChannels)
	ON_UPDATE_COMMAND_UI(ID_TOOLS_UPDATECHANNELS, OnUpdateToolsUpdateChannels)

	ON_COMMAND(ID_TOOLS_SUMMARYVIEW, OnToolsSummaryview)
	ON_UPDATE_COMMAND_UI(ID_TOOLS_SUMMARYVIEW, OnUpdateToolsSummaryview)

	ON_COMMAND(ID_TOOLS_SITEMANAGER, OnToolsSiteManager)
	ON_UPDATE_COMMAND_UI(ID_TOOLS_SITEMANAGER, OnUpdateToolsSiteManager)

	ON_COMMAND(ID_TOOLS_KEYWORDMANAGER, OnToolsKeywordManager)
	ON_UPDATE_COMMAND_UI(ID_TOOLS_KEYWORDMANAGER, OnUpdateToolsKeywordManager)

	ON_COMMAND(ID_TOOLS_ERRORS, OnToolsErrors)
	ON_COMMAND(ID_TOOLS_CACHEMANAGER, OnToolsCacheManager)
	ON_COMMAND(ID_TOOLS_OPTIONS, OnToolsOptions)

	ON_COMMAND(ID_TOOLS_MARKALLITEMSREAD, OnToolsMarkAllRead)
	ON_UPDATE_COMMAND_UI(ID_TOOLS_MARKALLITEMSREAD, OnUpdateToolsMarkAllRead)
	ON_COMMAND(ID_TOOLS_MARKALLITEMSUNREAD, OnToolsMarkAllUnread)
	ON_UPDATE_COMMAND_UI(ID_TOOLS_MARKALLITEMSUNREAD, OnUpdateToolsMarkAllUnread)
	ON_COMMAND(ID_TOOLS_MAKRASUNFLAGGED, OnToolsMarkAllUnflagged)

	ON_NOTIFY(TBN_DROPDOWN, AFX_IDW_TOOLBAR + 1, OnTopBarClick)
//	ON_COMMAND(IDC_ACT_SITE, OnOpenSiteList)
	ON_COMMAND_RANGE(ID_MENU_SITE_BASE - 2, ID_MENU_SITE_BASE + 1000, OnSiteSelected)
	ON_COMMAND(ID_OPEN_SITE_LIST, OnOpenSiteList)
	ON_COMMAND(ID_MENU_MY_CHANNELS, OnToolsSummaryview)

	ON_COMMAND(ID_CACHE_GET_ONLINECONTENT, OnCacheGetOnlineContent)
	ON_COMMAND(ID_CACHE_GET_IMAGES, OnCacheGetImages)
	ON_COMMAND(ID_ENCLOSURE_OPEN, OnEnclosuresOpen)
	ON_COMMAND(ID_ENCLOSURE_GET, OnEnclosuresGet)
	ON_COMMAND(ID_ENCLOSURE_DELETE, OnEnclosuresDelete)

	ON_COMMAND(ID_VIEW_SORTBY_DATE, OnViewSortbyDate)
	ON_COMMAND(ID_VIEW_SORTBY_READ, OnViewSortbyRead)
	ON_UPDATE_COMMAND_UI_RANGE(ID_VIEW_SORTBY_DATE, ID_VIEW_SORTBY_READ, OnUpdateSortby)

	ON_COMMAND(ID_OPEN, OnOpenPRSSreader)
	ON_COMMAND(ID_HIDE, OnHide)

	ON_COMMAND(ID_REWRITE_RULES, OnRewriteRules)

	ON_COMMAND(ID_TOOLS_FEEDVIEW, OnFeedListView)

	ON_MESSAGE(WM_HIBERNATE, OnHibernate)
	ON_MESSAGE(UWM_SHOW_UPDATEBAR, OnShowUpdateBar)
	ON_MESSAGE(UWM_UPDATE_FEED, OnUpdateFeed)
	ON_MESSAGE(UWM_UPDATE_FAVICON, OnUpdateFavicon)
	ON_MESSAGE(UWM_UPDATE_ALL, OnUpdateAll)
	ON_MESSAGE(UWM_UPDATE_FINISHED, OnUpdateFinished)

	ON_MESSAGE(UWM_OPEN_SITE, OnOpenSite)
	ON_MESSAGE(UWM_OPEN_FEEDITEM, OnOpenFeedItem)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction

CMainFrame::CMainFrame() {
	View = SummaryView;

	SiteMenuOpened = FALSE;

	HTerminate = CreateEvent(NULL, TRUE, FALSE, NULL);

//	HSaveSiteEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
	HPreloadSiteEvent = CreateEvent(NULL, TRUE, FALSE, NULL);

	HSaveSitesThread = NULL;
	HSyncItemsThread = NULL;
	Syncer = NULL;
	HSyncItemEvent = CreateEvent(NULL, TRUE, FALSE, NULL);

	CtxMenuTimer = 1;
	m_bOpenCtxMenu = FALSE;
	m_bMenuOpened = FALSE;
}

CMainFrame::~CMainFrame() {
	CloseHandle(HTerminate);
//	CloseHandle(HSaveSiteEvent);
	CloseHandle(HPreloadSiteEvent);
	CloseHandle(HSyncItemEvent);

	delete Syncer;
}

void CMainFrame::CreateSyncer() {
	switch (Config.SyncSite) {
		case SYNC_SITE_GOOGLE_READER: Syncer = new CGReaderSync(&Downloader, Config.SyncUserName, Config.SyncPassword);  break;
		default: Syncer = new CNetworkSync(&Downloader); break;
	}
}

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) {
	LOG0(3, "CMainFrame::OnCreate()");

	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	// view
	switch (Config.MainView) {
		case MAIN_VIEW_FEED_LIST:
			m_wndFeedView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL);
			m_wndSummaryView.Create(NULL, NULL, WS_CHILD | WS_BORDER, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST + 1, NULL);
			m_wndArticleView.Create(NULL, NULL, WS_CHILD | WS_BORDER, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST + 2, NULL);
			break;

		case MAIN_VIEW_ARTICLE:
			m_wndArticleView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW | WS_VISIBLE | WS_CLIPSIBLINGS, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL);
			m_wndSummaryView.Create(NULL, NULL, WS_CHILD | WS_BORDER, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST + 1, NULL);
			m_wndFeedView.Create(NULL, NULL, WS_CHILD | WS_BORDER, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST + 2, NULL);
			break;

		default:
		case MAIN_VIEW_SUMMARY_VIEW:
			m_wndSummaryView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL);
			m_wndFeedView.Create(NULL, NULL, WS_CHILD | WS_BORDER, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST + 1, NULL);
			m_wndArticleView.Create(NULL, NULL, WS_CHILD | WS_BORDER, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST + 2, NULL);
			break;
	}
	m_wndArticleView.View = &m_wndFeedView;
	m_wndFeedView.m_bWrapTitles = Config.WrapTitles;

	// top bar
	DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP | CBRS_BORDER_BOTTOM;
	CRect rcBorder(0, 0, 0, 0);
	if (!m_wndTopBar.CreateEx(this, TBSTYLE_FLAT | TBSTYLE_DROPDOWN | TBSTYLE_LIST, dwStyle,
		rcBorder, AFX_IDW_TOOLBAR + 1)) {
	   	TRACE0("Failed to create Top Bar\n");
		return -1;      // fail to create
	}
	m_wndTopBar.SetHeight(SCALEY(21));

	// top bar
	CToolBarCtrl &ctlToolBar = m_wndTopBar.GetToolBarCtrl();
	AfxSetResourceHandle(theApp.GetDPISpecificInstanceHandle());
	m_ilIcons.Create(IDB_SITE_ITEMS, SCALEX(16), 100, RGB(192, 192, 192));
	AfxSetResourceHandle(AfxGetInstanceHandle());
	ctlToolBar.SetImageList(&m_ilIcons);
	ctlToolBar.SetBitmapSize(CSize(SCALEX(16), SCALEY(16)));
	ctlToolBar.AddStrings(_T("\0"));

	ctlToolBar.SetFont(&Appearance.BaseFont);

	// separator
	TBBUTTON btn = { 0 };
	btn.iBitmap		= I_IMAGENONE;
	btn.idCommand	= ID_TOOLBAR_SEPARATOR;
	btn.fsState		= TBSTATE_ENABLED;
	btn.iString     = -1;
	ctlToolBar.InsertButton(0, &btn);


	EnableDocking(CBRS_ALIGN_ANY);

	// update bar
	if (!m_wndUpdateBar.Create(this)) {
	   	TRACE0("Failed to create Update Bar\n");
		return -1;      // fail to create
	}

	// banner
	if (!m_wndBanner.Create(this)) {
	   	TRACE0("Failed to create Banner\n");
		return -1;      // fail to create
	}

	// enclosure bar
	m_wndEnclosureBar.Create(this);

	// info bar
	m_wndInfoBar.Create(this);

//	m_wndTopBar.EnableDocking(CBRS_ALIGN_ANY);
	m_wndTopBar.EnableDocking(CBRS_ALIGN_TOP);

	// banner
	m_wndBanner.SetImageList(&m_ilIcons);
	m_wndBanner.SetSmbImageList(&m_wndFeedView.m_oIcons);
//	m_wndBanner.EnableDocking(CBRS_ALIGN_ANY);
	m_wndBanner.EnableDocking(CBRS_ALIGN_TOP);

	m_wndEnclosureBar.EnableDocking(CBRS_ALIGN_BOTTOM);
	m_wndInfoBar.EnableDocking(CBRS_ALIGN_BOTTOM);

	DockControlBar(&m_wndTopBar);
//	DockControlBar(&m_wndUpdateBar);
	DockControlBar(&m_wndBanner);
	DockControlBar(&m_wndEnclosureBar);
	DockControlBar(&m_wndInfoBar);

	///
	switch (Config.MainView) {
		case MAIN_VIEW_FEED_LIST:
			SetupFeedView();
			m_wndFeedView.SetFocus();
			break;

		case MAIN_VIEW_ARTICLE:
			// to display the HTML ctrl in proper dimensions
			m_wndArticleView.SetDlgCtrlID(AFX_IDW_PANE_FIRST);
			m_wndArticleView.ShowWindow(SW_SHOW);

			SetupArticleView();
			m_wndArticleView.SetFocus();
			break;

		default:
		case MAIN_VIEW_SUMMARY_VIEW:
			SetupSummaryView();
			m_wndSummaryView.SetFocus();
			break;
	}


	//
	CString strLabel;
	UnreadItems.FlagMask = MESSAGE_UNREAD | MESSAGE_NEW;
	UnreadItems.Name.LoadString(IDS_UNREAD);
	UnreadItems.ImageIdx = 1;

	FlaggedItems.FlagMask = MESSAGE_FLAG;
	FlaggedItems.Name.LoadString(IDS_FLAGGED);
	FlaggedItems.ImageIdx = 1;

	LoadSites();


	int height = GetSystemMetrics(SM_CYSCREEN);
	CRect rc;
	GetClientRect(&rc);
	SetWindowPos(NULL, 0, SCALEY(26), rc.Width(), height - SCALEY(52), SWP_NOZORDER);

	//

//	HSaveSitesThread = CreateThread(NULL, 0, SaveSitesStubProc, this, 0, NULL);
//	SetThreadPriority(HSaveSitesThread, THREAD_PRIORITY_LOWEST);
	HSaveSitesThread = NULL;

	HPreloadThread = CreateThread(NULL, 0, PreloadSitesStubProc, this, 0, NULL);
//	SetThreadPriority(HPreloadThread, THREAD_PRIORITY_LOWEST);

	CreateSyncer();
	HSyncItemsThread = CreateThread(NULL, 0, SyncItemsStubProc, this, 0, NULL);

	UpdateSort();
	UpdateMenu();
	UpdateWorkOfflineMenu();

	return 0;
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT &cs) {
	LOG0(5, "CMainFrame::PreCreateWindow()");

	cs.lpszClass = PRSSR_CLASS_NAME;
	if (!CFrameWnd::PreCreateWindow(cs))
		return FALSE;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics

#ifdef _DEBUG
void CMainFrame::AssertValid() const {
	CFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const {
	CFrameWnd::Dump(dc);
}

#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
void CMainFrame::OnSetFocus(CWnd* pOldWnd) {
	LOG0(5, "CMainFrame::OnSetFocus()");

	// forward focus to the view window
	if (View == FeedView) m_wndFeedView.SetFocus();
	else if (View == SummaryView) m_wndSummaryView.SetFocus();
	else if (View == ArticleView) m_wndArticleView.SetFocus();
}

BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) {
	LOG0(5, "CMainFrame::OnCmdMsg()");

	// let the view have first crack at the command
	switch (View) {
		case FeedView:
			if (m_wndFeedView.OnCmdMsg(nID, nCode, pExtra, pHandlerInfo)) return TRUE;
			break;

		case SummaryView:
			if (m_wndSummaryView.OnCmdMsg(nID, nCode, pExtra, pHandlerInfo)) return TRUE;
			break;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人video| 成人欧美一区二区三区| 亚洲色图一区二区| 国内精品视频666| www.欧美日韩| 中文字幕一区二区三区四区不卡| 国产成人啪免费观看软件| 欧美成人aa大片| 久久精品国产亚洲5555| 日韩欧美国产麻豆| 极品少妇xxxx精品少妇偷拍| 欧美高清一级片在线| 三级欧美韩日大片在线看| 91精品国产91久久久久久最新毛片| 亚洲国产wwwccc36天堂| 911精品产国品一二三产区| 亚洲女人小视频在线观看| 91福利小视频| 亚洲欧美国产毛片在线| 欧美三级在线看| 亚洲欧美日韩国产手机在线 | 日韩精品一区二区三区中文不卡 | 亚洲影院理伦片| 欧美人牲a欧美精品| 免费看日韩精品| 欧美一级电影网站| 国产在线观看一区二区| 亚洲免费毛片网站| 欧美tickle裸体挠脚心vk| 欧美日韩一区精品| 日本欧美韩国一区三区| 国产精品高清亚洲| 欧美一区二区三区视频在线 | 亚洲精品国久久99热| 精品日韩成人av| 欧美日韩在线直播| 成人精品在线视频观看| 亚洲国产精品久久久久秋霞影院| 欧美精品一区二区三区在线| 色婷婷综合久久久| 国产精品自在欧美一区| 男女激情视频一区| 91麻豆成人久久精品二区三区| 欧美大白屁股肥臀xxxxxx| 视频一区二区三区中文字幕| 欧美裸体一区二区三区| 日韩国产欧美一区二区三区| 欧美三级欧美一级| 日韩成人精品在线| 日韩一区二区三区在线| 精品一区二区三区免费毛片爱 | 成人白浆超碰人人人人| 日韩视频中午一区| 麻豆精品在线播放| 亚洲区小说区图片区qvod| av电影天堂一区二区在线观看| 日本成人在线不卡视频| www.久久久久久久久| 免费观看在线综合| 日韩欧美123| 欧美一级国产精品| 91精品福利在线一区二区三区| 国产成人在线观看| 久久婷婷国产综合国色天香| 亚洲精品国产a久久久久久| 成人开心网精品视频| 中文字幕一区二区三区在线不卡| 日韩欧美国产小视频| 久久久久久亚洲综合| 中文字幕不卡一区| 91精品国产aⅴ一区二区| 色婷婷国产精品久久包臀| 91视频91自| 色狠狠一区二区三区香蕉| 99视频一区二区| 成人av在线影院| www.欧美色图| 色诱亚洲精品久久久久久| 91丨porny丨中文| 欧日韩精品视频| 欧美老肥妇做.爰bbww| 欧美日本不卡视频| 欧美日韩午夜精品| 欧美一区二区三区日韩| 日韩视频一区二区三区在线播放| 欧美xxxxx牲另类人与| 久久亚洲欧美国产精品乐播| 欧美激情一区在线观看| 国产精品女同一区二区三区| 日韩理论电影院| 亚洲网友自拍偷拍| 免费av网站大全久久| 国产一区91精品张津瑜| 成人毛片老司机大片| 欧洲精品一区二区| 91精品在线免费| 国产三区在线成人av| 国产精品视频麻豆| 一区二区激情小说| 喷白浆一区二区| 国产一区二区不卡老阿姨| 成人h精品动漫一区二区三区| 91福利精品第一导航| 欧美一区日韩一区| 国产欧美精品国产国产专区 | 美女性感视频久久| 国产白丝网站精品污在线入口| 色综合一区二区三区| 欧美一区二区啪啪| 国产精品三级久久久久三级| 亚洲自拍另类综合| 国产一区二区三区免费| 色噜噜夜夜夜综合网| 欧美成人伊人久久综合网| 国产精品久久久久aaaa| 日日欢夜夜爽一区| 国产精品69久久久久水密桃| 日本久久电影网| 久久久青草青青国产亚洲免观| 亚洲欧美色一区| 久久福利资源站| 在线区一区二视频| 国产欧美日韩卡一| 日韩av网站免费在线| 91最新地址在线播放| 精品日韩成人av| 亚洲v中文字幕| 91污在线观看| 国产午夜精品一区二区三区嫩草| 亚洲午夜一二三区视频| 国产成人aaa| 精品免费国产二区三区| 亚洲v精品v日韩v欧美v专区| 成人国产精品免费观看动漫| 精品国产91乱码一区二区三区| 一区二区激情小说| 成人av集中营| 国产视频一区在线观看| 久久电影国产免费久久电影| 欧美做爰猛烈大尺度电影无法无天| 一区二区在线观看视频在线观看| 国产在线播放一区三区四| 777色狠狠一区二区三区| 亚洲人成精品久久久久久| 国产99一区视频免费| 精品免费一区二区三区| 日本大胆欧美人术艺术动态| 欧美午夜影院一区| 亚洲乱码国产乱码精品精的特点 | 国产精品久久久久7777按摩 | 国产精品久久久一本精品| 经典三级视频一区| 日韩欧美aaaaaa| 开心九九激情九九欧美日韩精美视频电影| 一本到不卡精品视频在线观看| 国产精品成人在线观看| 成人黄色在线视频| 国产精品福利一区二区三区| 国v精品久久久网| 欧美激情一区二区三区不卡 | 99在线视频精品| 国产精品高潮呻吟| 99精品欧美一区二区三区小说| 国产精品欧美综合在线| 成人午夜电影小说| 国产精品视频第一区| av成人老司机| 一区二区三区小说| 日本丶国产丶欧美色综合| 一区二区三区中文字幕电影| 在线观看日韩一区| 亚洲午夜精品17c| 在线电影欧美成精品| 美脚の诱脚舐め脚责91| 日韩一级二级三级精品视频| 老司机精品视频导航| 久久综合999| 成人免费视频视频| 亚洲免费av高清| 欧美人与禽zozo性伦| 久久99九九99精品| 国产精品色在线| 日本精品一级二级| 日韩vs国产vs欧美| 精品99999| 国产高清成人在线| 一区二区三区影院| 欧美一区二区视频网站| 国产乱人伦偷精品视频免下载| 国产精品少妇自拍| 欧美视频一区二区在线观看| 久久成人av少妇免费| 国产精品拍天天在线| 欧美性高清videossexo| 蜜桃精品视频在线| 国产精品女主播av| 91精品国产综合久久久久久| 国产成人夜色高潮福利影视| 综合久久综合久久| 欧美一级在线观看|