void TexCache::fileChanged( const QString & filepath ) { QMutableHashIterator<QString,Tex*> it( textures ); while ( it.hasNext() ) { it.next(); Tex * tx = it.value(); if ( tx->filepath == filepath ) { if ( QFile::exists( tx->filepath ) ) { tx->reload = true; emit sigRefresh(); } else { it.remove(); if ( tx->id ) glDeleteTextures( 1, &tx->id ); delete tx; } } } }
CFrmUserList::CFrmUserList(QWidget *parent) : QFrame(parent), COperateRoster(), m_UserList(this), ui(new Ui::CFrmUserList) { ui->setupUi(this); InitMenu(); m_pModel = new QStandardItemModel(this); if(m_pModel) { //增加头,只有增加了这个后,下面才会显示内容 m_pModel->setHorizontalHeaderLabels(QStringList() << tr("User name or group")<< tr("Information")); } m_UserList.setModel(m_pModel); m_UserList.show(); ItemInsertGroup(tr("My friends")); bool check = connect(&m_UserList, SIGNAL(clicked(QModelIndex)), SLOT(clicked(QModelIndex))); Q_ASSERT(check); check = connect(&m_UserList, SIGNAL(doubleClicked(QModelIndex)), SLOT(doubleClicked(QModelIndex))); Q_ASSERT(check); check = connect(&m_UserList, SIGNAL(customContextMenuRequested(QPoint)), SLOT(slotCustomContextMenuRequested(QPoint))); Q_ASSERT(check); check = connect(&m_UserList, SIGNAL(entered(QModelIndex)), SLOT(slotEntered(QModelIndex))); Q_ASSERT(check); check = connect(m_pModel, SIGNAL(itemChanged(QStandardItem*)), SLOT(slotItemChanged(QStandardItem*))); Q_ASSERT(check); check = connect(CGlobal::Instance()->GetMainWindow(), SIGNAL(sigMenuInitOperator(QMenu*)), SLOT(slotAddToMainMenu(QMenu*))); Q_ASSERT(check); check = connect(CGlobal::Instance()->GetMainWindow(), SIGNAL(sigRefresh()), SLOT(slotRefresh())); Q_ASSERT(check); check = connect(CGlobal::Instance()->GetMainWindow(), SIGNAL(sigMenuRemoveOperator(QMenu*)), SLOT(slotDeleteFromMainMenu(QMenu*))); Q_ASSERT(check); check = connect(GET_CLIENT.data(), SIGNAL(sigChangedStatus(const QString&)), SLOT(SlotChangedStatus(const QString&))); Q_ASSERT(check); check = connect(GET_CLIENT.data(), SIGNAL(sigLoadRosterFromStorage()), SLOT(slotLoadRosterFromStorage())); Q_ASSERT(check); check = connect(GET_CLIENT.data(), SIGNAL(sigUpdateRosterUserInfo(QString,QSharedPointer<CUser>)), SLOT(slotUpdateRosterUserInfo(QString,QSharedPointer<CUser>))); Q_ASSERT(check); check = connect(GET_CLIENT.data(), SIGNAL(sigRosterAddReceived(const QString&, const CClient::SUBSCRIBE_TYPE &)), SLOT(slotRosterAddReceived(const QString&, const CClient::SUBSCRIBE_TYPE &))); Q_ASSERT(check); check = connect(GET_CLIENT.data(), SIGNAL(sigRemoveRosterUserInfo(QString)), SLOT(slotRemoveRosterUserInfo(QString))); Q_ASSERT(check); check = connect(GET_CLIENT.data(), SIGNAL(sigMessageUpdate(QString)), SLOT(slotMessageUpdate(QString))); Q_ASSERT(check); check = connect(GET_CLIENT.data(), SIGNAL(sigMessageClean(QString)), SLOT(slotMessageUpdate(QString))); Q_ASSERT(check); }
CFrmUserList::CFrmUserList(QWidget *parent) : QFrame(parent), m_UserList(this), ui(new Ui::CFrmUserList) { ui->setupUi(this); InitMenu(); m_pModel = new QStandardItemModel(this); if(m_pModel) { //增加头,只有增加了这个后,下面才会显示内容 m_pModel->setHorizontalHeaderLabels(QStringList() << tr("User name or group")<< tr("Information")); } m_UserList.setModel(m_pModel); m_UserList.show(); InsertGroup(tr("My friends")); bool check = connect(&m_UserList, SIGNAL(clicked(QModelIndex)), SLOT(clicked(QModelIndex))); Q_ASSERT(check); check = connect(&m_UserList, SIGNAL(doubleClicked(QModelIndex)), SLOT(doubleClicked(QModelIndex))); Q_ASSERT(check); check = connect(&m_UserList, SIGNAL(customContextMenuRequested(QPoint)), SLOT(slotCustomContextMenuRequested(QPoint))); Q_ASSERT(check); check = connect(CGlobal::Instance()->GetMainWindow(), SIGNAL(sigMenuInitOperator(QMenu*)), SLOT(slotAddToMainMenu(QMenu*))); Q_ASSERT(check); check = connect(CGlobal::Instance()->GetMainWindow(), SIGNAL(sigRefresh()), SLOT(slotRefresh())); Q_ASSERT(check); check = connect(CGlobal::Instance()->GetMainWindow(), SIGNAL(sigMenuRemoveOperator(QMenu*)), SLOT(slotDeleteFromMainMenu(QMenu*))); Q_ASSERT(check); check = connect(CGlobal::Instance()->GetXmppClient(), SIGNAL(presenceReceived(const QXmppPresence)), SLOT(slotChangedPresence(QXmppPresence))); Q_ASSERT(check); check = connect(&CGlobal::Instance()->GetXmppClient()->rosterManager(), SIGNAL(rosterReceived()), SLOT(slotRosterReceived())); Q_ASSERT(check); check = connect(&CGlobal::Instance()->GetXmppClient()->rosterManager(), SIGNAL(subscriptionReceived(QString)), SLOT(slotSubscriptionReceived(QString))); Q_ASSERT(check); check = connect(&CGlobal::Instance()->GetXmppClient()->rosterManager(), SIGNAL(itemAdded(QString)), SLOT(slotItemAdded(QString))); Q_ASSERT(check); check = connect(&CGlobal::Instance()->GetXmppClient()->rosterManager(), SIGNAL(itemChanged(QString)), SLOT(slotItemChanged(QString))); Q_ASSERT(check); check = connect(&CGlobal::Instance()->GetXmppClient()->rosterManager(), SIGNAL(itemRemoved(QString)), SLOT(slotItemRemoved(QString))); Q_ASSERT(check); check = connect(&CGlobal::Instance()->GetXmppClient()->vCardManager(), SIGNAL(vCardReceived(QXmppVCardIq)), SLOT(slotvCardReceived(QXmppVCardIq))); Q_ASSERT(check); check = connect(CGlobal::Instance()->GetXmppClient(), SIGNAL(messageReceived(QXmppMessage)), SLOT(slotClientMessageReceived(QXmppMessage))); Q_ASSERT(check); }