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

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

?? bookcase.cpp

?? Bookcase 是一個用于KDE的個人的書籍管理。它使用XML文件存儲格式
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
/***************************************************************************                                bookcase.cpp                             -------------------    begin                : Wed Aug 29 21:00:54 CEST 2001    copyright            : (C) 2001 by Robby Stephenson    email                : robby@periapsis.org ***************************************************************************//*************************************************************************** *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of version 2 of the GNU General Public License as  * *   published by the Free Software Foundation;                            * *                                                                         * ***************************************************************************/// application specific includes#include "bookcasedoc.h"#include "bcdetailedlistview.h"#include "bcunit.h"#include "bcunititem.h"#include "bookcase.h"#include "bcuniteditwidget.h"#include "bcgroupview.h"#include "configdialog.h"#include "bclabelaction.h"#include "xslthandler.h"#include "finddialog.h"#include "bcunititem.h"#include "bookcollection.h"#include <kiconloader.h>#include <kfiledialog.h>#include <kmenubar.h>#include <ktoolbar.h>#include <kprogress.h>#include <klocale.h>#include <kconfig.h>#include <kstdaction.h>#include <kaction.h>#include <kdebug.h>#include <kwin.h>#include <kprogress.h>#include <kstatusbar.h>#include <kprinter.h>#include <khtml_part.h>#include <khtmlview.h>#include <kglobal.h>#include <kstandarddirs.h>#include <kmessagebox.h>#include <kstringhandler.h>// include files for QT#include <qdir.h>#include <qsplitter.h>#include <qvbox.h>#include <qpaintdevicemetrics.h>#include <qpainter.h>#include <qtextedit.h>static const int ID_STATUS_MSG = 1;static const int ID_STATUS_COUNT = 2;//static const int PRINTED_PAGE_OVERLAP = 10;Bookcase::Bookcase(QWidget* parent_/*=0*/, const char* name_/*=0*/)    : KMainWindow(parent_, name_), m_doc(0), m_config(kapp->config()),      m_progress(0), m_configDlg(0), m_findDlg(0) {  // do main window stuff like setting the icon  initWindow();    // initialize the status bar and progress bar  initStatusBar();    // set up all the actions  initActions();    // create a document, which also creates an empty book collection  // must be done before the different widgets are created  initDocument();    // create the different widgets in the view  initView();  initConnections();  readOptions();  m_fileSave->setEnabled(false);  slotEnableOpenedActions(false);  slotEnableModifiedActions(false);    // not yet implemented  m_editCut->setEnabled(false);  m_editCopy->setEnabled(false);  m_editPaste->setEnabled(false);  slotUnitCount();}void Bookcase::initWindow() {  setIcon(KGlobal::iconLoader()->loadIcon(QString::fromLatin1("bookcase"), KIcon::Desktop));}void Bookcase::initStatusBar() {  statusBar()->insertItem(i18n("Ready."), ID_STATUS_MSG);  statusBar()->setItemAlignment(ID_STATUS_MSG, Qt::AlignLeft | Qt::AlignVCenter);  statusBar()->insertItem(QString(), ID_STATUS_COUNT, 0, true);  statusBar()->setItemAlignment(ID_STATUS_COUNT, Qt::AlignLeft | Qt::AlignVCenter);  m_progress = new KProgress(100, statusBar());  m_progress->setFixedHeight(statusBar()->minimumSizeHint().height());  statusBar()->addWidget(m_progress);  m_progress->hide();}void Bookcase::initActions() {#if KDE_VERSION > 305  setStandardToolBarMenuEnabled(true);#endif   m_fileNew = KStdAction::openNew(this, SLOT(slotFileNew()), actionCollection());  m_fileOpen = KStdAction::open(this, SLOT(slotFileOpen()), actionCollection());  m_fileOpenRecent = KStdAction::openRecent(this, SLOT(slotFileOpenRecent(const KURL&)),                                             actionCollection());  m_fileSave = KStdAction::save(this, SLOT(slotFileSave()), actionCollection());  m_fileSaveAs = KStdAction::saveAs(this, SLOT(slotFileSaveAs()), actionCollection());  m_filePrint = KStdAction::print(this, SLOT(slotFilePrint()), actionCollection());  m_fileQuit = KStdAction::quit(this, SLOT(slotFileQuit()), actionCollection());  m_editCut = KStdAction::cut(this, SLOT(slotEditCut()), actionCollection());  m_editCopy = KStdAction::copy(this, SLOT(slotEditCopy()), actionCollection());  m_editPaste = KStdAction::paste(this, SLOT(slotEditPaste()), actionCollection());  m_editFind = KStdAction::find(this, SLOT(slotEditFind()), actionCollection());  m_editFindNext = KStdAction::findNext(this, SLOT(slotEditFindNext()),                                        actionCollection());#if KDE_VERSION < 306  m_toggleToolBar = KStdAction::showToolbar(this, SLOT(slotToggleToolBar()),                                            actionCollection());#endif  m_toggleStatusBar = KStdAction::showStatusbar(this, SLOT(slotToggleStatusBar()),                                                actionCollection());  m_preferences = KStdAction::preferences(this, SLOT(slotShowConfigDialog()),                                          actionCollection());  m_importBibtex = new KAction(i18n("Import Bibtex File..."), 0, this,                                    SLOT(slotImportBibtex()),                                    actionCollection(),                                    "import_bibtex");  m_importBibtexml = new KAction(i18n("Import Bibtexml File..."), 0, this,                                    SLOT(slotImportBibtexml()),                                    actionCollection(),                                    "import_bibtexml");  m_exportBibtex = new KAction(i18n("Export to Bibtex File..."), 0, this,                                    SLOT(slotExportBibtex()),                                    actionCollection(),                                    "export_bibtex");  m_exportBibtexml = new KAction(i18n("Export to Bibtexml File..."), 0, this,                                 SLOT(slotExportBibtexml()),                                 actionCollection(),                                 "export_bibtexml");  m_exportXSLT = new KAction(i18n("Export Using XSL Transform..."), 0, this,                             SLOT(slotExportXSLT()),                             actionCollection(),                             "export_xslt");//  m_fileNewCollection = new KAction(i18n("New &Collection"), 0, this,//                                    SLOT(slotFileNewCollection()),//                                    actionCollection(),//                                    "file_new_collection");#if KDE_VERSION < 306  m_toggleCollectionBar = new KToggleAction(i18n("Show Co&llection ToolBar"), 0, this,                                            SLOT(slotToggleCollectionBar()),                                            actionCollection(),                                            "toggle_collection_bar");#endif  (void) new BCLabelAction(i18n("Group by: "), 0,                           actionCollection(),                           "change_unit_grouping_label");  m_unitGrouping = new KSelectAction(i18n("Group Books By"), 0, this,                                     SLOT(slotChangeGrouping()),                                     actionCollection(),                                     "change_unit_grouping");  m_fileNew->setToolTip(i18n("Create a new document"));  m_fileOpen->setToolTip(i18n("Open an existing document"));  m_fileOpenRecent->setToolTip(i18n("Open a recently used file"));  m_fileSave->setToolTip(i18n("Save the actual document"));  m_fileSaveAs->setToolTip(i18n("Save the actual document as..."));  m_filePrint->setToolTip(i18n("Print the contents of the document..."));  m_fileQuit->setToolTip(i18n("Quit the application"));  m_editCut->setToolTip(i18n("Cut the selected section and puts it to the clipboard"));  m_editCopy->setToolTip(i18n("Copy the selected section to the clipboard"));  m_editPaste->setToolTip(i18n("Paste the clipboard contents to actual position"));  m_editFind->setToolTip(i18n("Search in the document..."));#if KDE_VERSION < 306  m_toggleToolBar->setToolTip(i18n("Enable/disable the toolbar"));#endif  m_toggleStatusBar->setToolTip(i18n("Enable/disable the statusbar"));  m_preferences->setToolTip(i18n("Configure the options for the application..."));  m_unitGrouping->setToolTip(i18n("Change the grouping of the collection"));#if KDE_VERSION < 306  m_toggleCollectionBar->setToolTip(i18n("Enable/disable the collection toolbar"));#endif  m_importBibtexml->setToolTip(i18n("Import a Bibtexml file..."));  m_exportBibtex->setToolTip(i18n("Export to Bibtex file..."));  m_exportBibtexml->setToolTip(i18n("Export to Bibtexml file..."));  m_exportXSLT->setToolTip(i18n("Export a file using an XSL transform..."));//  createGUI(QString::fromLatin1("/home/robby/projects/bookcase/src/bookcaseui.rc"));  createGUI();  // gets enabled once one search is done  m_editFindNext->setEnabled(false);}void Bookcase::initDocument() {  m_doc = new BookcaseDoc(this);  // allow status messages from the document  connect(m_doc, SIGNAL(signalStatusMsg(const QString&)),           SLOT(slotStatusMsg(const QString&)));  // do stuff that changes when the doc is modified  connect(m_doc, SIGNAL(signalModified()),          SLOT(slotEnableModifiedActions()));  // overkill since a modified signal does not always mean a change in unit quantity  connect(m_doc, SIGNAL(signalModified()),          SLOT(slotUnitCount()));  // update the progress bar  connect(m_doc, SIGNAL(signalFractionDone(float)),          SLOT(slotUpdateFractionDone(float)));            // update the toolbar, unit count, and so on  connect(m_doc, SIGNAL(signalCollectionAdded(BCCollection*)),          SLOT(slotUpdateCollection(BCCollection*)));}void Bookcase::initView() {  m_split = new QSplitter(this);  setCentralWidget(m_split);  // m_split is the parent widget for the left side column view  m_groupView = new BCGroupView(m_split);  // stack the detailed view and edit widget vertically  QVBox* vbox = new QVBox(m_split);  m_detailedView = new BCDetailedListView(m_doc, vbox);  m_editWidget = new BCUnitEditWidget(vbox);  // since the new doc is already initialized with one empty book collection  BCCollection* coll = m_doc->collectionById(0);  m_groupView->slotAddCollection(coll);  m_detailedView->slotAddCollection(coll);  m_editWidget->slotSetLayout(coll);  // need to connect update signal  BCCollectionListIterator it(m_doc->collectionList());  for( ; it.current(); ++it) {    connect(it.current(), SIGNAL(signalGroupModified(BCCollection*, BCUnitGroup*)),            m_groupView, SLOT(slotModifyGroup(BCCollection*, BCUnitGroup*)));  }  // this gets called in readOptions(), so not neccessary here  //updateCollectionToolBar();}void Bookcase::initConnections() {  // the two listviews signal when a unit is selected, pass it to the edit widget  connect(m_groupView, SIGNAL(signalUnitSelected(BCUnit*)),          m_editWidget, SLOT(slotSetContents(BCUnit*)));  connect(m_detailedView, SIGNAL(signalUnitSelected(BCUnit*)),          m_editWidget, SLOT(slotSetContents(BCUnit*)));  // synchronize the selected signal between listviews//  connect(m_groupView, SIGNAL(signalUnitSelected(BCUnit*)),//          m_detailedView, SLOT(slotSetSelected(BCUnit*)));//  connect(m_detailedView, SIGNAL(signalUnitSelected(BCUnit*)),//          m_groupView, SLOT(slotSetSelected(BCUnit*)));  // when one item is selected, clear the other  connect(m_groupView, SIGNAL(signalUnitSelected(BCUnit*)),          m_detailedView, SLOT(slotClearSelection()));  connect(m_detailedView, SIGNAL(signalUnitSelected(BCUnit*)),          m_groupView, SLOT(slotClearSelection()));  connect(m_editWidget, SIGNAL(signalSaveUnit(BCUnit*)),          m_doc, SLOT(slotSaveUnit(BCUnit*)));  connect(m_groupView, SIGNAL(signalDeleteUnit(BCUnit*)),          SLOT(slotDeleteUnit(BCUnit*)));  connect(m_detailedView, SIGNAL(signalDeleteUnit(BCUnit*)),          SLOT(slotDeleteUnit(BCUnit*)));  connect(m_editWidget, SIGNAL(signalDeleteUnit(BCUnit*)),          SLOT(slotDeleteUnit(BCUnit*)));  connect(m_doc, SIGNAL(signalCollectionAdded(BCCollection*)),          m_groupView, SLOT(slotAddCollection(BCCollection*)));  connect(m_doc, SIGNAL(signalCollectionAdded(BCCollection*)),          m_editWidget, SLOT(slotSetCollection(BCCollection*)));  connect(m_doc, SIGNAL(signalCollectionAdded(BCCollection*)),          m_detailedView, SLOT(slotAddCollection(BCCollection*)));  connect(m_doc, SIGNAL(signalCollectionDeleted(BCCollection*)),          this, SLOT(saveCollectionOptions(BCCollection*)));  connect(m_doc, SIGNAL(signalCollectionDeleted(BCCollection*)),          m_groupView, SLOT(slotRemoveItem(BCCollection*)));  connect(m_doc, SIGNAL(signalCollectionDeleted(BCCollection*)),          m_detailedView, SLOT(slotRemoveItem(BCCollection*)));  // connect the added signal to both listviews// the group view receives BCCollection::signalGroupModified() so no add or modify action needed//  connect(m_doc, SIGNAL(signalUnitAdded(BCUnit*)),//          m_groupView, SLOT(slotAddItem(BCUnit*)));  connect(m_doc, SIGNAL(signalUnitAdded(BCUnit*)),          m_detailedView, SLOT(slotAddItem(BCUnit*)));  connect(m_doc, SIGNAL(signalUnitAdded(BCUnit*)),          m_editWidget, SLOT(slotUpdateCompletions(BCUnit*)));  // connect the modified signal to both//  connect(m_doc, SIGNAL(signalUnitModified(BCUnit*)),//          m_groupView, SLOT(slotModifyItem(BCUnit*)));  connect(m_doc, SIGNAL(signalUnitModified(BCUnit*)),          m_detailedView, SLOT(slotModifyItem(BCUnit*)));  connect(m_doc, SIGNAL(signalUnitModified(BCUnit*)),          m_editWidget, SLOT(slotUpdateCompletions(BCUnit*)));  // connect the deleted signal to both listviews//  connect(m_doc, SIGNAL(signalUnitDeleted(BCUnit*)),//          m_groupView, SLOT(slotRemoveItem(BCUnit*)));  connect(m_doc, SIGNAL(signalUnitDeleted(BCUnit*)),          m_detailedView, SLOT(slotRemoveItem(BCUnit*)));            // if the doc wants a unit selected, show it in both detailed and group views  connect(m_doc, SIGNAL(signalUnitSelected(BCUnit*)),          m_detailedView, SLOT(slotSetSelected(BCUnit*)));  connect(m_doc, SIGNAL(signalUnitSelected(BCUnit*)),          m_groupView, SLOT(slotSetSelected(BCUnit*)));  connect(m_doc, SIGNAL(signalUnitSelected(BCUnit*)),          m_editWidget, SLOT(slotSetContents(BCUnit*)));  connect(m_groupView, SIGNAL(signalRenameCollection(int, const QString&)),          m_doc, SLOT(slotRenameCollection(int, const QString&)));}void Bookcase::slotInitFileOpen() {  // check to see if most recent file should be opened  m_config->setGroup("General Options");  if(m_config->readBoolEntry("Reopen Last File", false)      && !m_config->readEntry("Last Open File").isEmpty()) {    KURL lastFile = KURL(m_config->readEntry("Last Open File"));    slotFileOpen(lastFile);  }}// These are general options.// The options that can be changed in the "Configuration..." dialog// are taken care of by the ConfigDialog object.void Bookcase::saveOptions() {//  kdDebug() << "Bookcase::saveOptions()" << endl;  // for some reason, the m_config pointer is getting changed, but  // I can't figure out where, so just to be on the safe side  if(m_config != kapp->config()) {    kdDebug() << "Bookcase::saveOptions() - inconsistent KConfig pointers!" << endl;    m_config = kapp->config();  }  m_config->setGroup("General Options");  m_config->writeEntry("Geometry", size());  m_config->writeEntry("Show Statusbar", m_toggleStatusBar->isChecked());#if KDE_VERSION < 306  toolBar("mainToolBar")->saveSettings(m_config, QString::fromLatin1("MainToolBar"));  toolBar("collectionToolBar")->saveSettings(m_config, QString::fromLatin1("CollectionToolBar"));#endif  m_fileOpenRecent->saveEntries(m_config, QString::fromLatin1("Recent Files"));  if(m_doc->URL().fileName() != i18n("Untitled")) {    m_config->writeEntry("Last Open File", m_doc->URL().url());  }  m_config->writeEntry("Main Window Splitter Sizes", m_split->sizes());  BCCollectionListIterator it(m_doc->collectionList());  for( ; it.current(); ++it) {    saveCollectionOptions(it.current());  }}void Bookcase::saveCollectionOptions(BCCollection* coll_) {//  kdDebug() << "Bookcase::saveCollectionOptions()" << endl;  if(!coll_) {    return;  }  m_config->setGroup(QString::fromLatin1("Options - %1").arg(coll_->unitName()));  QString groupName = coll_->unitGroups()[m_unitGrouping->currentItem()];  m_config->writeEntry("Group By", groupName);      m_detailedView->saveLayout(m_config, QString::fromLatin1("Options - %1").arg(coll_->unitName()));  m_config->writeEntry("ColumnNames", m_detailedView->columnNames());}void Bookcase::readOptions() {//  kdDebug() << "Bookcase::readOptions()" << endl;  // for some reason, the m_config pointer is getting changed, but  // I can't figure out where, so just to be on the safe side  if(m_config != kapp->config()) {    kdDebug() << "Bookcase::readOptions() - inconsistent KConfig pointers!" << endl;    m_config = kapp->config();  }  m_config->setGroup("General Options");#if KDE_VERSION < 306  toolBar("mainToolBar")->applySettings(m_config, QString::fromLatin1("MainToolBar"));  m_toggleToolBar->setChecked(!toolBar("mainToolBar")->isHidden());  slotToggleToolBar();  toolBar("collectionToolBar")->applySettings(m_config, QString::fromLatin1("CollectionToolBar"));  m_toggleCollectionBar->setChecked(!toolBar("collectionToolBar")->isHidden());  slotToggleCollectionBar();#endif  bool bViewStatusBar = m_config->readBoolEntry("Show Statusbar", true);  m_toggleStatusBar->setChecked(bViewStatusBar);  slotToggleStatusBar();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av资源网一区| 欧美大胆一级视频| 欧美大片免费久久精品三p| 国产视频在线观看一区二区三区| 日韩美女精品在线| 激情久久五月天| 欧美日韩精品一二三区| 欧美国产在线观看| 裸体歌舞表演一区二区| 91视频com| 国产精品三级在线观看| 久久国产剧场电影| 精品污污网站免费看| 亚洲国产精品国自产拍av| 日本aⅴ免费视频一区二区三区| 99re6这里只有精品视频在线观看| 日韩欧美在线不卡| 午夜精品久久久久影视| 97se亚洲国产综合在线| 国产偷国产偷亚洲高清人白洁| 日韩国产精品91| 欧美日韩国产综合久久| 一区二区三区四区高清精品免费观看 | 久久一日本道色综合| 亚洲18色成人| 欧美高清hd18日本| 亚洲自拍偷拍网站| 日本高清免费不卡视频| 最新高清无码专区| 99国产精品国产精品毛片| 国产精品美女久久久久高潮| 久久99精品一区二区三区| 日韩三级视频在线看| 美女网站在线免费欧美精品| 欧美一区二区三区四区高清| 日韩中文欧美在线| 日韩一级片网址| 日本91福利区| 欧美成人福利视频| 精品一区二区三区免费播放| 久久综合狠狠综合久久综合88| 日本不卡高清视频| 久久综合色天天久久综合图片| 精品一区二区在线视频| 久久午夜电影网| 国产高清一区日本| 亚洲日本欧美天堂| 欧美日韩中文另类| 久久不见久久见免费视频7| 精品国产青草久久久久福利| 国产精品1区二区.| 亚洲三级在线免费观看| 欧美日韩一级黄| 精品亚洲国内自在自线福利| 精品久久人人做人人爽| 成人午夜在线免费| 夜夜嗨av一区二区三区网页 | 日韩欧美一区二区在线视频| 麻豆91小视频| 国产欧美精品一区二区色综合| 成人毛片老司机大片| 一区二区三区精品久久久| 日韩一区二区三区四区五区六区| 极品少妇xxxx精品少妇偷拍| 亚洲视频资源在线| 4438x亚洲最大成人网| 国产一区二区在线影院| 亚洲欧美国产毛片在线| 日韩欧美精品三级| 国产不卡视频在线播放| 亚洲国产精品久久不卡毛片| 欧美电影免费观看高清完整版| 成人激情开心网| 日韩国产一二三区| 国产精品亲子乱子伦xxxx裸| 3atv一区二区三区| 成人av电影在线| 久久99精品久久久久久 | 欧美成人性福生活免费看| 成人一区二区三区中文字幕| 亚洲成人av免费| 国产精品无遮挡| 日韩欧美国产三级| 91成人在线免费观看| 国产精品一区二区免费不卡| 中文字幕在线不卡一区| 色系网站成人免费| 欧美三级中文字幕| 久久伊99综合婷婷久久伊| 91网站在线观看视频| 极品少妇xxxx精品少妇| 视频一区中文字幕国产| 亚洲美女免费在线| 久久精品人人做人人爽97| 欧美一区二区三区在线观看视频 | 久久精品国产一区二区三| 欧美激情一区在线观看| 2024国产精品| 91精品国产品国语在线不卡| 在线欧美小视频| 白白色 亚洲乱淫| 国产精品香蕉一区二区三区| 蜜乳av一区二区三区| 五月婷婷另类国产| 亚洲图片自拍偷拍| 亚洲精品国产视频| 亚洲欧美日韩久久| 国产精品精品国产色婷婷| 欧美日韩你懂得| 国产一区在线观看视频| 国产性天天综合网| 尤物在线观看一区| 欧美国产1区2区| 欧美经典一区二区| 国产三级一区二区| 国产精品视频麻豆| 国产精品国产三级国产aⅴ无密码| 欧美r级在线观看| 欧美精品一区二区在线播放| 精品欧美一区二区三区精品久久| 91麻豆精品国产自产在线观看一区| 色视频一区二区| 在线观看欧美黄色| 欧美日韩色综合| 欧美日韩国产综合一区二区三区 | 久久99精品一区二区三区三区| 免费在线一区观看| 国产成人精品亚洲日本在线桃色| 麻豆国产精品官网| 韩国v欧美v亚洲v日本v| 99久久精品免费看国产| 欧美韩国一区二区| 久久久久久99久久久精品网站| 欧美日韩一级黄| 884aa四虎影成人精品一区| 欧美精品高清视频| 日韩美女视频在线| 久久久久久久久岛国免费| 国产精品天干天干在观线| 有坂深雪av一区二区精品| 日韩国产欧美在线视频| 国产剧情一区在线| 日本高清不卡视频| 日韩视频一区二区三区| 国产色产综合色产在线视频| 亚洲欧美激情视频在线观看一区二区三区 | 精品国产乱码91久久久久久网站| 欧美精品一区二区三区视频| 中文av一区二区| 亚洲福利视频三区| 国产精选一区二区三区| 在线视频中文字幕一区二区| 日韩欧美综合在线| 亚洲欧美国产毛片在线| 男人的j进女人的j一区| av不卡在线播放| 91精品国产美女浴室洗澡无遮挡| 国产欧美中文在线| 丝袜诱惑亚洲看片| www.激情成人| 日韩三级av在线播放| 伊人夜夜躁av伊人久久| 黄页网站大全一区二区| 日本道色综合久久| 久久精品人人做人人爽人人| 天天亚洲美女在线视频| 99久久久国产精品免费蜜臀| 欧美sm极限捆绑bd| 午夜久久久久久电影| 99久久免费国产| 精品国精品国产| 亚洲电影第三页| jlzzjlzz亚洲日本少妇| 精品裸体舞一区二区三区| 一区二区三区91| 成人av网在线| 国产亚洲1区2区3区| 久久国产精品99久久久久久老狼 | 狠狠色丁香九九婷婷综合五月| 中文字幕乱码亚洲精品一区| 欧美色偷偷大香| 日韩伦理电影网| 男女激情视频一区| 在线视频欧美精品| 欧美激情艳妇裸体舞| 国产精品一区专区| 精品国产一区二区三区四区四| 亚洲综合激情小说| 色狠狠av一区二区三区| 国产精品素人视频| 国产成人激情av| 久久久777精品电影网影网| 美国精品在线观看| 日韩一区二区中文字幕| 亚洲gay无套男同| 欧美日韩电影在线播放| 亚洲资源中文字幕| 欧美亚洲一区三区| 亚洲国产成人av好男人在线观看| 26uuu久久综合|