亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
久久综合九色欧美综合狠狠| 天天操天天干天天综合网| 一区二区三区在线视频免费| 男女男精品网站| 97se亚洲国产综合在线| 精品伦理精品一区| 图片区小说区国产精品视频| 99久久精品国产导航| 久久久精品国产99久久精品芒果| 亚洲一区二区三区四区的| 成人免费高清视频| 26uuu欧美| 免费国产亚洲视频| 欧美三电影在线| 日韩一区日韩二区| 不卡av电影在线播放| 久久无码av三级| 免费在线观看精品| 欧美一区二区在线看| 亚洲大型综合色站| 在线亚洲欧美专区二区| 国产精品传媒在线| 成人动漫在线一区| 国产精品色婷婷| caoporm超碰国产精品| 中文字幕精品在线不卡| 国产福利一区在线观看| 精品少妇一区二区三区日产乱码| 日韩av中文在线观看| 欧美群妇大交群中文字幕| 亚洲午夜电影在线| 欧美日韩国产另类不卡| 亚洲成人tv网| 日韩三级高清在线| 国内精品伊人久久久久av一坑| 91精品国产综合久久久久久久久久| 亚洲bt欧美bt精品777| 欧美剧情片在线观看| 亚洲高清不卡在线| 日韩美女视频在线| 国产成人在线观看| 中文字幕日韩一区二区| 91激情五月电影| 亚洲一区二区三区影院| 日韩欧美在线观看一区二区三区| 久久se精品一区二区| 国产精品你懂的在线| 一本色道久久综合精品竹菊| 亚洲一区av在线| 日韩视频免费观看高清在线视频| 久久成人久久鬼色| 国产日韩欧美不卡| 在线看国产一区二区| 日本怡春院一区二区| 欧美电视剧在线观看完整版| 成人免费视频caoporn| 一区二区三区毛片| 精品久久久久久亚洲综合网 | 奇米在线7777在线精品| 亚洲精品在线三区| 色一情一伦一子一伦一区| 天涯成人国产亚洲精品一区av| 欧美成人精品1314www| 成人性生交大片免费看中文 | 欧美高清www午色夜在线视频| 久久av老司机精品网站导航| 国产精品久久久久影视| 7777精品伊人久久久大香线蕉| 国产一区不卡视频| 亚洲愉拍自拍另类高清精品| 精品久久久久香蕉网| 欧美视频一区二区| 高潮精品一区videoshd| 日韩中文字幕亚洲一区二区va在线| 久久精品亚洲精品国产欧美| 欧美性xxxxxx少妇| 成人亚洲一区二区一| 三级在线观看一区二区 | www国产精品av| 欧洲国内综合视频| 国产1区2区3区精品美女| 亚洲va欧美va人人爽| 中文字幕二三区不卡| 日韩视频永久免费| 欧美日韩国产另类一区| 91日韩一区二区三区| 国产精品资源在线| 男女性色大片免费观看一区二区| 亚洲六月丁香色婷婷综合久久| 精品美女被调教视频大全网站| 欧美三级午夜理伦三级中视频| 福利电影一区二区| 国产一区二区福利| 久久99最新地址| 免费观看成人鲁鲁鲁鲁鲁视频| 一二三区精品视频| 成人欧美一区二区三区1314| 久久久久久久久久美女| 精品国产亚洲在线| 日韩一区二区在线观看视频播放| 99精品欧美一区| www.亚洲人| 粉嫩av亚洲一区二区图片| 激情综合网av| 激情小说欧美图片| 国产一区二区三区四区五区美女| 秋霞电影网一区二区| 日本aⅴ精品一区二区三区| 亚洲超丰满肉感bbw| 亚洲国产毛片aaaaa无费看| 一区二区三区国产| 亚洲成人免费在线| 日韩精品亚洲一区| 日本sm残虐另类| 久久精品免费看| 国产在线观看一区二区| 激情综合网天天干| 国产成人精品亚洲777人妖| 国产激情一区二区三区| 成人激情免费网站| 99re视频这里只有精品| 色琪琪一区二区三区亚洲区| 色噜噜狠狠成人网p站| 在线观看亚洲精品视频| 欧美三区免费完整视频在线观看| 欧美日韩久久不卡| 欧美成人伊人久久综合网| 久久影院午夜论| 国产精品二三区| 亚洲综合在线视频| 美女免费视频一区| 国产精品自拍网站| 色综合中文字幕国产 | 欧美日韩三级在线| 91精品国产麻豆国产自产在线 | 亚洲九九爱视频| 天天色综合天天| 韩国精品在线观看| 99热在这里有精品免费| 欧美撒尿777hd撒尿| 亚洲精品在线观看视频| 亚洲欧美影音先锋| 视频一区二区三区中文字幕| 国产乱子轮精品视频| 91浏览器在线视频| 91精品久久久久久久99蜜桃 | 懂色av中文一区二区三区| 日本丰满少妇一区二区三区| 7799精品视频| 亚洲国产高清不卡| 亚洲无人区一区| 成人福利视频在线看| 日韩一级大片在线| 日韩理论片一区二区| 日韩精品久久久久久| 成人开心网精品视频| 日韩三级免费观看| 亚洲综合激情另类小说区| 国产在线精品免费av| 欧美日韩久久久一区| 国产精品麻豆网站| 韩国女主播成人在线观看| 欧美色视频一区| 亚洲欧洲国产专区| 精品一区二区三区的国产在线播放| 色综合久久精品| 中文av字幕一区| 久久成人麻豆午夜电影| 欧美日韩电影一区| 国产精品嫩草久久久久| 久久精品国产亚洲aⅴ| 在线观看国产一区二区| 国产精品久久久久久一区二区三区| 日本亚洲免费观看| 欧美日本视频在线| 亚洲色欲色欲www| 成人深夜福利app| 久久综合久久鬼色| 日本美女一区二区三区| 欧美午夜精品一区二区蜜桃| 国产精品免费免费| 国产91丝袜在线播放九色| 精品国产a毛片| 看片网站欧美日韩| 欧美一区二区三区影视| 亚洲国产aⅴ天堂久久| 色婷婷综合久久久| 亚洲欧美一区二区不卡| 成人激情午夜影院| 欧美激情中文不卡| 春色校园综合激情亚洲| 久久久久成人黄色影片| 国产精品中文字幕日韩精品| www久久精品| 国产不卡在线视频| 中文文精品字幕一区二区| 国产精品自产自拍| 国产精品网站一区| av在线不卡网| 亚洲精品你懂的|