void toCodeModel::addChildContent(const QModelIndex & index) { toCodeModelItem * item = static_cast<toCodeModelItem*>(index.internalPointer()); if (!item) return; QString itemType(item->type()); if (itemType == "PACKAGE") { // don't re-read it until refresh action... if (item->childCount() > 0) return; toConnectionSubLoan c(toConnection::currentConnection(this)); toQuery query(c, SQLListPackage, toQueryParams() << item->display() << m_owner); QString ctype; QString cstatus; emit layoutAboutToBeChanged(); while (!query.eof()) { ctype = (QString)query.readValue(); cstatus = (QString)query.readValue(); new toCodeModelItem(item, ctype, ctype, cstatus); // "inherit" child status for parent if it's required if ((ctype == "SPEC" || ctype == "BODY") && cstatus != "VALID") { item->setStatus(cstatus); } } emit layoutChanged(); return; } // end of packages }
void TorrentContentModel::setupModelData(const BitTorrent::TorrentInfo &info) { qDebug("setup model data called"); if (info.filesCount() == 0) return; emit layoutAboutToBeChanged(); // Initialize files_index array qDebug("Torrent contains %d files", info.filesCount()); m_filesIndex.reserve(info.filesCount()); TorrentContentModelFolder* currentParent; // Iterate over files for (int i = 0; i < info.filesCount(); ++i) { currentParent = m_rootItem; QString path = Utils::Fs::fromNativePath(info.filePath(i)); // Iterate of parts of the path to create necessary folders QStringList pathFolders = path.split("/", QString::SkipEmptyParts); pathFolders.removeLast(); foreach (const QString& pathPart, pathFolders) { if (pathPart == ".unwanted") continue; TorrentContentModelFolder* newParent = currentParent->childFolderWithName(pathPart); if (!newParent) { newParent = new TorrentContentModelFolder(pathPart, currentParent); currentParent->appendChild(newParent); } currentParent = newParent; } // Actually create the file TorrentContentModelFile* fileItem = new TorrentContentModelFile(info.fileName(i), info.fileSize(i), currentParent, i); currentParent->appendChild(fileItem); m_filesIndex.push_back(fileItem); } emit layoutChanged(); }
void DConfigDlgWdgModel::addPage(DConfigDlgWdgItem* item) { emit layoutAboutToBeChanged(); Q_D(DConfigDlgWdgModel); connect(item, SIGNAL(changed()), this, SLOT(_k_itemChanged())); connect(item, SIGNAL(toggled(bool)), this, SLOT(_k_itemToggled(bool))); // The row to be inserted int row = d->rootItem->childCount(); beginInsertRows(QModelIndex(), row, row); PageItem* const pageItem = new PageItem(item, d->rootItem); d->rootItem->appendChild(pageItem); endInsertRows(); emit layoutChanged(); }
/*! \reimp */ void QIdentityProxyModel::setSourceModel(QAbstractItemModel* newSourceModel) { beginResetModel(); if (sourceModel()) { disconnect(sourceModel(), SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(_q_sourceRowsAboutToBeInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(_q_sourceRowsInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(_q_sourceRowsAboutToBeRemoved(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(_q_sourceRowsRemoved(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(_q_sourceRowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(sourceModel(), SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(_q_sourceRowsMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(sourceModel(), SIGNAL(columnsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(_q_sourceColumnsAboutToBeInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsInserted(QModelIndex,int,int)), this, SLOT(_q_sourceColumnsInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(_q_sourceColumnsAboutToBeRemoved(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsRemoved(QModelIndex,int,int)), this, SLOT(_q_sourceColumnsRemoved(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(_q_sourceColumnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(sourceModel(), SIGNAL(columnsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(_q_sourceColumnsMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(sourceModel(), SIGNAL(modelAboutToBeReset()), this, SLOT(_q_sourceModelAboutToBeReset())); disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(_q_sourceModelReset())); disconnect(sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex))); disconnect(sourceModel(), SIGNAL(headerDataChanged(Qt::Orientation,int,int)), this, SLOT(_q_sourceHeaderDataChanged(Qt::Orientation,int,int))); disconnect(sourceModel(), SIGNAL(layoutAboutToBeChanged()), this, SLOT(_q_sourceLayoutAboutToBeChanged())); disconnect(sourceModel(), SIGNAL(layoutChanged()), this, SLOT(_q_sourceLayoutChanged())); } QAbstractProxyModel::setSourceModel(newSourceModel); if (sourceModel()) { connect(sourceModel(), SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), SLOT(_q_sourceRowsAboutToBeInserted(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), SLOT(_q_sourceRowsInserted(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), SLOT(_q_sourceRowsAboutToBeRemoved(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), SLOT(_q_sourceRowsRemoved(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), SLOT(_q_sourceRowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); connect(sourceModel(), SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), SLOT(_q_sourceRowsMoved(QModelIndex,int,int,QModelIndex,int))); connect(sourceModel(), SIGNAL(columnsAboutToBeInserted(QModelIndex,int,int)), SLOT(_q_sourceColumnsAboutToBeInserted(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(columnsInserted(QModelIndex,int,int)), SLOT(_q_sourceColumnsInserted(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(columnsAboutToBeRemoved(QModelIndex,int,int)), SLOT(_q_sourceColumnsAboutToBeRemoved(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(columnsRemoved(QModelIndex,int,int)), SLOT(_q_sourceColumnsRemoved(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(columnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), SLOT(_q_sourceColumnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); connect(sourceModel(), SIGNAL(columnsMoved(QModelIndex,int,int,QModelIndex,int)), SLOT(_q_sourceColumnsMoved(QModelIndex,int,int,QModelIndex,int))); connect(sourceModel(), SIGNAL(modelAboutToBeReset()), SLOT(_q_sourceModelAboutToBeReset())); connect(sourceModel(), SIGNAL(modelReset()), SLOT(_q_sourceModelReset())); connect(sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex))); connect(sourceModel(), SIGNAL(headerDataChanged(Qt::Orientation,int,int)), SLOT(_q_sourceHeaderDataChanged(Qt::Orientation,int,int))); connect(sourceModel(), SIGNAL(layoutAboutToBeChanged()), SLOT(_q_sourceLayoutAboutToBeChanged())); connect(sourceModel(), SIGNAL(layoutChanged()), SLOT(_q_sourceLayoutChanged())); } endResetModel(); }
void RPCConsole::setClientModel(ClientModel *model) { clientModel = model; ui->trafficGraph->setClientModel(model); if (model && clientModel->getPeerTableModel() && clientModel->getBanTableModel()) { // Keep up to date with client setNumConnections(model->getNumConnections()); connect(model, SIGNAL(numConnectionsChanged(int)), this, SLOT(setNumConnections(int))); setNumBlocks(model->getNumBlocks(), model->getLastBlockDate(), model->getVerificationProgress(nullptr), false); connect(model, SIGNAL(numBlocksChanged(int,QDateTime,double,bool)), this, SLOT(setNumBlocks(int,QDateTime,double,bool))); updateNetworkState(); connect(model, SIGNAL(networkActiveChanged(bool)), this, SLOT(setNetworkActive(bool))); updateTrafficStats(model->getTotalBytesRecv(), model->getTotalBytesSent()); connect(model, SIGNAL(bytesChanged(quint64,quint64)), this, SLOT(updateTrafficStats(quint64, quint64))); connect(model, SIGNAL(mempoolSizeChanged(long,size_t)), this, SLOT(setMempoolSize(long,size_t))); // set up peer table ui->peerWidget->setModel(model->getPeerTableModel()); ui->peerWidget->verticalHeader()->hide(); ui->peerWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->peerWidget->setSelectionBehavior(QAbstractItemView::SelectRows); ui->peerWidget->setSelectionMode(QAbstractItemView::ExtendedSelection); ui->peerWidget->setContextMenuPolicy(Qt::CustomContextMenu); ui->peerWidget->setColumnWidth(PeerTableModel::Address, ADDRESS_COLUMN_WIDTH); ui->peerWidget->setColumnWidth(PeerTableModel::Subversion, SUBVERSION_COLUMN_WIDTH); ui->peerWidget->setColumnWidth(PeerTableModel::Ping, PING_COLUMN_WIDTH); ui->peerWidget->horizontalHeader()->setStretchLastSection(true); // create peer table context menu actions QAction* disconnectAction = new QAction(tr("&Disconnect"), this); QAction* banAction1h = new QAction(tr("Ban for") + " " + tr("1 &hour"), this); QAction* banAction24h = new QAction(tr("Ban for") + " " + tr("1 &day"), this); QAction* banAction7d = new QAction(tr("Ban for") + " " + tr("1 &week"), this); QAction* banAction365d = new QAction(tr("Ban for") + " " + tr("1 &year"), this); // create peer table context menu peersTableContextMenu = new QMenu(this); peersTableContextMenu->addAction(disconnectAction); peersTableContextMenu->addAction(banAction1h); peersTableContextMenu->addAction(banAction24h); peersTableContextMenu->addAction(banAction7d); peersTableContextMenu->addAction(banAction365d); // Add a signal mapping to allow dynamic context menu arguments. // We need to use int (instead of int64_t), because signal mapper only supports // int or objects, which is okay because max bantime (1 year) is < int_max. QSignalMapper* signalMapper = new QSignalMapper(this); signalMapper->setMapping(banAction1h, 60*60); signalMapper->setMapping(banAction24h, 60*60*24); signalMapper->setMapping(banAction7d, 60*60*24*7); signalMapper->setMapping(banAction365d, 60*60*24*365); connect(banAction1h, SIGNAL(triggered()), signalMapper, SLOT(map())); connect(banAction24h, SIGNAL(triggered()), signalMapper, SLOT(map())); connect(banAction7d, SIGNAL(triggered()), signalMapper, SLOT(map())); connect(banAction365d, SIGNAL(triggered()), signalMapper, SLOT(map())); connect(signalMapper, SIGNAL(mapped(int)), this, SLOT(banSelectedNode(int))); // peer table context menu signals connect(ui->peerWidget, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(showPeersTableContextMenu(const QPoint&))); connect(disconnectAction, SIGNAL(triggered()), this, SLOT(disconnectSelectedNode())); // peer table signal handling - update peer details when selecting new node connect(ui->peerWidget->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), this, SLOT(peerSelected(const QItemSelection &, const QItemSelection &))); // peer table signal handling - update peer details when new nodes are added to the model connect(model->getPeerTableModel(), SIGNAL(layoutChanged()), this, SLOT(peerLayoutChanged())); // peer table signal handling - cache selected node ids connect(model->getPeerTableModel(), SIGNAL(layoutAboutToBeChanged()), this, SLOT(peerLayoutAboutToChange())); // set up ban table ui->banlistWidget->setModel(model->getBanTableModel()); ui->banlistWidget->verticalHeader()->hide(); ui->banlistWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->banlistWidget->setSelectionBehavior(QAbstractItemView::SelectRows); ui->banlistWidget->setSelectionMode(QAbstractItemView::SingleSelection); ui->banlistWidget->setContextMenuPolicy(Qt::CustomContextMenu); ui->banlistWidget->setColumnWidth(BanTableModel::Address, BANSUBNET_COLUMN_WIDTH); ui->banlistWidget->setColumnWidth(BanTableModel::Bantime, BANTIME_COLUMN_WIDTH); ui->banlistWidget->horizontalHeader()->setStretchLastSection(true); // create ban table context menu action QAction* unbanAction = new QAction(tr("&Unban"), this); // create ban table context menu banTableContextMenu = new QMenu(this); banTableContextMenu->addAction(unbanAction); // ban table context menu signals connect(ui->banlistWidget, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(showBanTableContextMenu(const QPoint&))); connect(unbanAction, SIGNAL(triggered()), this, SLOT(unbanSelectedNode())); // ban table signal handling - clear peer details when clicking a peer in the ban table connect(ui->banlistWidget, SIGNAL(clicked(const QModelIndex&)), this, SLOT(clearSelectedNode())); // ban table signal handling - ensure ban table is shown or hidden (if empty) connect(model->getBanTableModel(), SIGNAL(layoutChanged()), this, SLOT(showOrHideBanTableIfRequired())); showOrHideBanTableIfRequired(); // Provide initial values ui->clientVersion->setText(model->formatFullVersion()); ui->clientUserAgent->setText(model->formatSubVersion()); ui->dataDir->setText(model->dataDir()); ui->startupTime->setText(model->formatClientStartupTime()); ui->networkName->setText(QString::fromStdString(Params().NetworkIDString())); //Setup autocomplete and attach it QStringList wordList; std::vector<std::string> commandList = tableRPC.listCommands(); for (size_t i = 0; i < commandList.size(); ++i) { wordList << commandList[i].c_str(); wordList << ("help " + commandList[i]).c_str(); } wordList << "help-console"; wordList.sort(); autoCompleter = new QCompleter(wordList, this); autoCompleter->setModelSorting(QCompleter::CaseSensitivelySortedModel); ui->lineEdit->setCompleter(autoCompleter); autoCompleter->popup()->installEventFilter(this); // Start thread to execute RPC commands. startExecutor(); }
void TrainModel::redraw() { emit layoutAboutToBeChanged(); emit layoutChanged(); }
void StadiumListModel::ShowStadiums(StadiumList &stadiums) { layoutAboutToBeChanged(); this->stadiums = &stadiums; layoutChanged(); }
void ActionsProxyModel::sourceLayoutAboutToBeChanged() { emit layoutAboutToBeChanged(); }
void DeckListModel::sort(int /*column*/, Qt::SortOrder order) { emit layoutAboutToBeChanged(); sortHelper(root, order); emit layoutChanged(); }
void FileSystemModelEx::setShowDetails(bool b) { emit layoutAboutToBeChanged(); m_isShowDetails = b; emit layoutChanged(); }
void MenuProxyModel::setFilterRegExp ( const QString & pattern ) { emit layoutAboutToBeChanged (); KCategorizedSortFilterProxyModel::setFilterRegExp( pattern ); emit layoutChanged (); }
void MenuProxyModel::setFilterRegExp ( const QRegExp & regExp ) { emit layoutAboutToBeChanged (); KCategorizedSortFilterProxyModel::setFilterRegExp( regExp ); emit layoutChanged (); }
void RelationItemModel::slotLayoutChanged() { //kDebug()<<node->name()<<endl; emit layoutAboutToBeChanged(); emit layoutChanged(); }
void StrategicItemModel::notifyLayoutAboutToBeChanged(const QList<QPersistentModelIndex> &parents, QAbstractItemModel::LayoutChangeHint hint) { emit layoutAboutToBeChanged(parents, hint); }
void ChatListModel::setRecents(const std::list<ChatListWindow::Chat>& recents) { emit layoutAboutToBeChanged(); recents_->clear(); foreach (const ChatListWindow::Chat chat, recents) { recents_->addItem(new ChatListRecentItem(chat, recents_)); }
void WSortFilterProxyModel::sourceLayoutAboutToBeChanged() { layoutAboutToBeChanged().emit(); resetMappings(); }
/* Return[0]: totalFile Return[1]: totalSize Return[2]: currentFile */ QList<quint64> TransferModel::synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions) { loop_size=returnActions.size(); index_for_loop=0; quint64 totalFile=0,totalSize=0,currentFile=0; totalFile=0; totalSize=0; currentFile=0; emit layoutAboutToBeChanged(); const QModelIndexList oldIndexes = persistentIndexList(); QModelIndexList newIndexes = oldIndexes; QMap<int, quint64> oldMapping; // model index row in model before update, item id QMap<quint64, int> newMapping; // item id, model index row in model after update for ( int i = 0; i < oldIndexes.count(); i++ ) { const QModelIndex& index = oldIndexes[ i ]; oldMapping[ index.row() ] = index.data( Qt::UserRole ).value<quint64>(); } while(index_for_loop<loop_size) { const Ultracopier::ReturnActionOnCopyList& action=returnActions.at(index_for_loop); switch(action.type) { case Ultracopier::AddingItem: { TransfertItem newItem; newItem.id=action.addAction.id; newItem.source=action.addAction.sourceFullPath; newItem.size=facilityEngine->sizeToString(action.addAction.size); newItem.destination=action.addAction.destinationFullPath; transfertItemList<<newItem; totalFile++; totalSize+=action.addAction.size; } break; case Ultracopier::MoveItem: { //bool current_entry= if(action.userAction.position<0) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QString("id: %1, position is wrong: %2").arg(action.addAction.id).arg(action.userAction.position)); break; } if(action.userAction.position>(transfertItemList.size()-1)) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QString("id: %1, position is wrong: %2").arg(action.addAction.id).arg(action.userAction.position)); break; } if(action.userAction.moveAt<0) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QString("id: %1, position is wrong: %2").arg(action.addAction.id).arg(action.userAction.position)); break; } if(action.userAction.moveAt>(transfertItemList.size()-1)) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QString("id: %1, position is wrong: %2").arg(action.addAction.id).arg(action.userAction.position)); break; } if(action.userAction.position==action.userAction.moveAt) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QString("id: %1, move at same position: %2").arg(action.addAction.id).arg(action.userAction.position)); break; } transfertItemList.move(action.userAction.position,action.userAction.moveAt); //newIndexes.move(action.userAction.position,action.userAction.moveAt); } break; case Ultracopier::RemoveItem: { if(currentIndexSearch>0 && action.userAction.position<=currentIndexSearch) currentIndexSearch--; if(action.userAction.position<0) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); break; } if(action.userAction.position>(transfertItemList.size()-1)) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); break; } transfertItemList.removeAt(action.userAction.position); currentFile++; startId.remove(action.addAction.id); stopId.remove(action.addAction.id); internalRunningOperation.remove(action.addAction.id); //newIndexes.remove(action.userAction.moveAt); } break; case Ultracopier::PreOperation: { ItemOfCopyListWithMoreInformations tempItem; tempItem.currentReadProgression=0; tempItem.currentWriteProgression=0; tempItem.generalData=action.addAction; tempItem.actionType=action.type; internalRunningOperation[action.addAction.id]=tempItem; } break; case Ultracopier::Transfer: { if(!startId.contains(action.addAction.id)) startId << action.addAction.id; stopId.remove(action.addAction.id); if(internalRunningOperation.contains(action.addAction.id)) internalRunningOperation[action.addAction.id].actionType=action.type; else ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QString("unable to found entry for file %1: actionType: Transfer").arg(action.addAction.id)); } break; case Ultracopier::PostOperation: { if(!stopId.contains(action.addAction.id)) stopId << action.addAction.id; startId.remove(action.addAction.id); } break; case Ultracopier::CustomOperation: { bool custom_with_progression=(action.addAction.size==1); //without progression if(custom_with_progression) { if(startId.remove(action.addAction.id)) if(!stopId.contains(action.addAction.id)) stopId << action.addAction.id; } //with progression else { stopId.remove(action.addAction.id); if(!startId.contains(action.addAction.id)) startId << action.addAction.id; } if(internalRunningOperation.contains(action.addAction.id)) { ItemOfCopyListWithMoreInformations &item=internalRunningOperation[action.addAction.id]; item.actionType=action.type; item.custom_with_progression=custom_with_progression; item.currentReadProgression=0; item.currentWriteProgression=0; } } break; default: //unknow code, ignore it break; } index_for_loop++; } if(!oldIndexes.isEmpty()) { const QSet<quint64> ids = oldMapping.values().toSet(); for ( int i = 0; i < transfertItemList.count(); i++ ) { const TransferModel::TransfertItem& item = transfertItemList[ i ]; if ( ids.contains( item.id ) ) { newMapping[ item.id ] = i; } } for ( int i = 0; i < oldIndexes.count(); i++ ) { const QModelIndex& index = oldIndexes[ i ]; const int newRow = newMapping.value( oldMapping[ index.row() ], -1 ); newIndexes[ i ] = newRow == -1 ? QModelIndex() : QAbstractTableModel::index( newRow, index.column(), index.parent() ); } } changePersistentIndexList( oldIndexes, newIndexes ); emit layoutChanged(); return QList<quint64>() << totalFile << totalSize << currentFile; }
void MergeModel::AddModel (QAbstractItemModel *model) { if (!model) return; Models_.push_back (model); connect (model, SIGNAL (columnsAboutToBeInserted (const QModelIndex&, int, int)), this, SLOT (handleColumnsAboutToBeInserted (const QModelIndex&, int, int))); connect (model, SIGNAL (columnsAboutToBeRemoved (const QModelIndex&, int, int)), this, SLOT (handleColumnsAboutToBeRemoved (const QModelIndex&, int, int))); connect (model, SIGNAL (columnsInserted (const QModelIndex&, int, int)), this, SLOT (handleColumnsInserted (const QModelIndex&, int, int))); connect (model, SIGNAL (columnsRemoved (const QModelIndex&, int, int)), this, SLOT (handleColumnsRemoved (const QModelIndex&, int, int))); connect (model, SIGNAL (dataChanged (const QModelIndex&, const QModelIndex&)), this, SLOT (handleDataChanged (const QModelIndex&, const QModelIndex&))); connect (model, SIGNAL (layoutAboutToBeChanged ()), this, SLOT (handleModelAboutToBeReset ())); connect (model, SIGNAL (layoutChanged ()), this, SLOT (handleModelReset ())); connect (model, SIGNAL (modelAboutToBeReset ()), this, SLOT (handleModelAboutToBeReset ())); connect (model, SIGNAL (modelReset ()), this, SLOT (handleModelReset ())); connect (model, SIGNAL (rowsAboutToBeInserted (const QModelIndex&, int, int)), this, SLOT (handleRowsAboutToBeInserted (const QModelIndex&, int, int))); connect (model, SIGNAL (rowsAboutToBeRemoved (const QModelIndex&, int, int)), this, SLOT (handleRowsAboutToBeRemoved (const QModelIndex&, int, int))); connect (model, SIGNAL (rowsInserted (const QModelIndex&, int, int)), this, SLOT (handleRowsInserted (const QModelIndex&, int, int))); connect (model, SIGNAL (rowsRemoved (const QModelIndex&, int, int)), this, SLOT (handleRowsRemoved (const QModelIndex&, int, int))); if (const auto rc = model->rowCount ()) { beginInsertRows ({}, rowCount ({}), rowCount ({}) + rc - 1); for (auto i = 0; i < rc; ++i) Root_->AppendChild (model, model->index (i, 0), Root_); endInsertRows (); } }
void LogModel::addRow(LogRow* row){ emit layoutAboutToBeChanged(); logRows.append(row); emit layoutChanged(); }
void WIdentityProxyModel::sourceLayoutAboutToBeChanged() { layoutAboutToBeChanged().emit(); }
void ActionsProxyModel::setSourceModel(QAbstractItemModel *newSourceModel) { QAbstractItemModel *currentModel = sourceModel(); if (currentModel) { disconnect(currentModel, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(sourceDataChanged(const QModelIndex &, const QModelIndex &))); disconnect(currentModel, SIGNAL(headerDataChanged(Qt::Orientation, int, int)), this, SLOT(sourceHeaderDataChanged(Qt::Orientation, int, int))); disconnect(currentModel, SIGNAL(rowsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(sourceRowsAboutToBeInserted(const QModelIndex &, int, int))); disconnect(currentModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(sourceRowsInserted(const QModelIndex &, int, int))); disconnect(currentModel, SIGNAL(columnsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(sourceColumnsAboutToBeInserted(const QModelIndex &, int, int))); disconnect(currentModel, SIGNAL(columnsInserted(const QModelIndex &, int, int)), this, SLOT(sourceColumnsInserted(const QModelIndex &, int, int))); disconnect(currentModel, SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(sourceRowsAboutToBeRemoved(const QModelIndex &, int, int))); disconnect(currentModel, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int))); disconnect(currentModel, SIGNAL(columnsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(sourceColumnsAboutToBeRemoved(const QModelIndex &, int, int))); disconnect(currentModel, SIGNAL(columnsRemoved(const QModelIndex &, int, int)), this, SLOT(sourceColumnsRemoved(const QModelIndex &, int, int))); disconnect(currentModel, SIGNAL(layoutAboutToBeChanged()), this, SLOT(sourceLayoutAboutToBeChanged())); disconnect(currentModel, SIGNAL(layoutChanged()), this, SLOT(sourceLayoutChanged())); } QAbstractProxyModel::setSourceModel(newSourceModel); if (newSourceModel) { connect(newSourceModel, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(sourceDataChanged(const QModelIndex &, const QModelIndex &))); connect(newSourceModel, SIGNAL(headerDataChanged(Qt::Orientation, int, int)), this, SLOT(sourceHeaderDataChanged(Qt::Orientation, int, int))); connect(newSourceModel, SIGNAL(rowsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(sourceRowsAboutToBeInserted(const QModelIndex &, int, int))); connect(newSourceModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(sourceRowsInserted(const QModelIndex &, int, int))); connect(newSourceModel, SIGNAL(columnsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(sourceColumnsAboutToBeInserted(const QModelIndex &, int, int))); connect(newSourceModel, SIGNAL(columnsInserted(const QModelIndex &, int, int)), this, SLOT(sourceColumnsInserted(const QModelIndex &, int, int))); connect(newSourceModel, SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(sourceRowsAboutToBeRemoved(const QModelIndex &, int, int))); connect(newSourceModel, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int))); connect(newSourceModel, SIGNAL(columnsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(sourceColumnsAboutToBeRemoved(const QModelIndex &, int, int))); connect(newSourceModel, SIGNAL(columnsRemoved(const QModelIndex &, int, int)), this, SLOT(sourceColumnsRemoved(const QModelIndex &, int, int))); connect(newSourceModel, SIGNAL(layoutAboutToBeChanged()), this, SLOT(sourceLayoutAboutToBeChanged())); connect(newSourceModel, SIGNAL(layoutChanged()), this, SLOT(sourceLayoutChanged())); } updateVisibleBeforeActions(); updateVisibleAfterActions(); }
PlotsWindow::PlotsWindow(Plots& plots, QWidget* parent) : QDialog(parent), plots(plots) { setModal(true); QVBoxLayout* plots_layout = new QVBoxLayout(); plots_widget = new ListWidget(new PlotsModel(plots)); plots_layout->addWidget(plots_widget); QPushButton* add_plot_btn = new QPushButton(tr("Add a plot")); AddPlotDialog* add_plot = new AddPlotDialog(plots); QObject::connect(add_plot_btn, SIGNAL(clicked()), add_plot, SLOT(show())); plots_layout->addWidget(add_plot_btn); del_plot_btn = new QPushButton(tr("Delete plot")); QObject::connect(del_plot_btn, SIGNAL(clicked()), this, SLOT(delete_plot())); plots_layout->addWidget(del_plot_btn); QPushButton* close_btn = new QPushButton(tr("Close")); plots_layout->addWidget(close_btn); QObject::connect(close_btn, SIGNAL(clicked()), this, SLOT(accept())); QObject::connect(add_plot, SIGNAL(list_updated()), plots_widget->model(), SIGNAL(layoutChanged())); QObject::connect(this, SIGNAL(plots_widget_layoutAboutToBeChanged()), plots_widget->model(), SIGNAL(layoutAboutToBeChanged())); QObject::connect(add_plot, SIGNAL(list_updated()), this, SIGNAL(timeline_need_update())); QObject::connect(this, SIGNAL(list_updated()), plots_widget->model(), SIGNAL(layoutChanged())); QObject::connect(this, SIGNAL(list_updated()), this, SIGNAL(timeline_need_update())); QObject::connect(plots_widget->selectionModel(), SIGNAL(currentChanged(const QModelIndex&, const QModelIndex&)), this, SLOT(update_plot_data(const QModelIndex&, const QModelIndex&))); QVBoxLayout* notes_layout = new QVBoxLayout(); notes_widget = new QTextEdit(); notes_layout->addWidget(notes_widget); //update_notes(); QVBoxLayout* details_layout = new QVBoxLayout(); details_layout->addLayout(notes_layout); phys_widget = new PhysInput(); details_layout->addWidget(phys_widget); subd_widget = new SubdWidget(); details_layout->addWidget(subd_widget); QHBoxLayout* main_layout = new QHBoxLayout(this); main_layout->addLayout(plots_layout); main_layout->addLayout(details_layout); //update_btns_state(); }
void DataFilesModel::uncheckAll() { emit layoutAboutToBeChanged(); mCheckStates.clear(); emit layoutChanged(); }
void BanTableModel::refresh() { Q_EMIT layoutAboutToBeChanged(); priv->refreshBanlist(m_node); Q_EMIT layoutChanged(); }
void StationScheduleModel::parse(const QByteArray &htmlReply, const QUrl &baseUrl) { Q_UNUSED(baseUrl); qDebug() << "--- start of query result --- cut here ------"; qDebug() << QString::fromUtf8(htmlReply.constData()); qDebug() << "--- end of query result ----- cut here ------"; emit layoutAboutToBeChanged(); beginResetModel(); QWebPage page; page.mainFrame()->setContent(htmlReply, "text/html", baseUrl); QWebElement doc = page.mainFrame()->documentElement(); // Check if the page is reporting an error before parsing it QWebElement errorElement = doc.findFirst("span.errore"); if (!errorElement.isNull()) { m_departureSchedules.clear(); m_arrivalSchedules.clear(); QString errorText = errorElement.toPlainText().trimmed(); if (errorText == "localita' non trovata") { setError(tr("Unknown station")); } else { setError(tr("Unknown error")); } qDebug() << "error:" << error(); return; } // Find the first div QWebElement current = doc.findFirst("div"); qDebug() << "skipping to the departures"; // Skip to the first div of class corpocentrale, which contains the first // departure-related contents while (!current.classes().contains("corpocentrale")) { current = current.nextSibling(); qDebug() << "skipping to the next element"; if (current.isNull()) break; } // Mark every div as a departure class element; the next corpocentrale // marks the start of the arrivals section qDebug() << "marking departures"; do { if (current.classes().contains("bloccorisultato")) { StationScheduleItem schedule = parseResult(current); if (schedule.isValid()) { m_departureSchedules << schedule; } } current = current.nextSibling(); qDebug() << "marking as departures"; if (current.isNull()) break; } while (!current.classes().contains("corpocentrale")); // Mark everything as an arrival, until reaching the footer while (!current.classes().contains("footer")) { if (current.classes().contains("bloccorisultato")) { StationScheduleItem schedule = parseResult(current); if (schedule.isValid()) { m_arrivalSchedules << schedule; } } current = current.nextSibling(); qDebug() << "marking as arrival"; if (current.isNull()) break; } endResetModel(); emit layoutChanged(); }
void Scene::removeBody( Body* b ) { emit layoutAboutToBeChanged(); m_bodys.removeAll(b); emit changed(); emit layoutChanged(); }
/* Return[0]: totalFile Return[1]: totalSize Return[2]: currentFile */ QList<quint64> TransferModel::synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions) { loop_size=returnActions.size(); index_for_loop=0; totalFile=0; totalSize=0; currentFile=0; emit layoutAboutToBeChanged(); while(index_for_loop<loop_size) { const Ultracopier::ReturnActionOnCopyList& action=returnActions.at(index_for_loop); switch(action.type) { case Ultracopier::AddingItem: { transfertItem newItem; newItem.id=action.addAction.id; newItem.source=action.addAction.sourceFullPath; newItem.size=facilityEngine->sizeToString(action.addAction.size); newItem.destination=action.addAction.destinationFullPath; // newItem.done=false; transfertItemList<<newItem; totalFile++; totalSize+=action.addAction.size; ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("id: %1, size: %2, name: %3").arg(action.addAction.id).arg(action.addAction.size).arg(action.addAction.sourceFullPath)); } break; case Ultracopier::MoveItem: { //bool current_entry= if(action.userAction.position<0) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); break; } if(action.userAction.position>(transfertItemList.size()-1)) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); break; } if(action.userAction.moveAt<0) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); break; } if(action.userAction.moveAt>(transfertItemList.size()-1)) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); break; } transfertItemList.move(action.userAction.position,action.userAction.moveAt); } break; case Ultracopier::RemoveItem: { if(currentIndexSearch>0 && action.userAction.position<=currentIndexSearch) currentIndexSearch--; if(action.userAction.position<0) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); break; } if(action.userAction.position>(transfertItemList.size()-1)) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); break; } transfertItemList.removeAt(action.userAction.position); currentFile++; startId.remove(action.addAction.id); stopId.remove(action.addAction.id); } break; case Ultracopier::PreOperation: { ItemOfCopyListWithMoreInformations tempItem; tempItem.currentProgression=0; tempItem.generalData=action.addAction; tempItem.actionType=action.type; internalRunningOperation[action.addAction.id]=tempItem; ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("set for file %1: actionType: PreOperation").arg(action.addAction.id)); } break; case Ultracopier::Transfer: { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("found entry for file %1: actionType: Transfer").arg(action.addAction.id)); if(!startId.contains(action.addAction.id)) startId << action.addAction.id; stopId.remove(action.addAction.id); if(internalRunningOperation.contains(action.addAction.id)) internalRunningOperation[action.addAction.id].actionType=action.type; else ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QString("unable to found entry for file %1: actionType: Transfer").arg(action.addAction.id)); } break; case Ultracopier::PostOperation: { if(!stopId.contains(action.addAction.id)) stopId << action.addAction.id; startId.remove(action.addAction.id); internalRunningOperation.remove(action.addAction.id); } break; case Ultracopier::CustomOperation: { bool custom_with_progression=(action.addAction.size==1); //without progression if(custom_with_progression) { if(startId.remove(action.addAction.id)) if(!stopId.contains(action.addAction.id)) stopId << action.addAction.id; } //with progression else { stopId.remove(action.addAction.id); if(!startId.contains(action.addAction.id)) startId << action.addAction.id; } if(internalRunningOperation.contains(action.addAction.id)) { ItemOfCopyListWithMoreInformations &item=internalRunningOperation[action.addAction.id]; item.actionType=action.type; item.custom_with_progression=custom_with_progression; item.currentProgression=0; } } break; default: //unknow code, ignore it break; } index_for_loop++; } emit layoutChanged(); return QList<quint64>() << totalFile << totalSize << currentFile; }
void Scene::bodyChanged() { emit layoutAboutToBeChanged(); emit changed(); emit layoutChanged(); }
void DictionaryModel::setTopDictionary(const QMultiMap<qint32, QString> &dict) { emit layoutAboutToBeChanged(); dictionary = dict; emit layoutChanged(); }
void WorkPackageProxyModel::setSourceModel( QAbstractItemModel *model ) { if ( sourceModel() ) { disconnect(sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(sourceDataChanged(QModelIndex,QModelIndex))); /* disconnect(sourceModel(), SIGNAL(headerDataChanged(Qt::Orientation,int,int)), this, SLOT(sourceHeaderDataChanged(Qt::Orientation,int,int)));*/ disconnect(sourceModel(), SIGNAL(layoutChanged()), this, SIGNAL(layoutChanged())); disconnect(sourceModel(), SIGNAL(layoutAboutToBeChanged()), this, SIGNAL(layoutAboutToBeChanged())); disconnect(sourceModel(), SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(sourceRowsAboutToBeInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(sourceRowsInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(sourceRowsAboutToBeRemoved(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(sourceRowsAboutToBeRemoved(QModelIndex,int,int))); /* disconnect(sourceModel(), SIGNAL(columnsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(sourceColumnsAboutToBeInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsInserted(QModelIndex,int,int)), this, SLOT(sourceColumnsInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(sourceColumnsAboutToBeRemoved(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsRemoved(QModelIndex,int,int)), this, SLOT(sourceColumnsRemoved(QModelIndex,int,int))); */ disconnect(sourceModel(), SIGNAL(modelAboutToBeReset()), this, SLOT(sourceModelAboutToBeReset())); disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceModelReset())); disconnect(sourceModel(), SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(sourceRowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(sourceModel(), SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(sourceRowsMoved(QModelIndex,int,int,QModelIndex,int))); /* disconnect(sourceModel(), SIGNAL(columnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(sourceColumnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(sourceModel(), SIGNAL(columnsMoved(QModelIndex&parent,int,int,QModelIndex,int)), this, SLOT(sourceColumnsMoved(QModelIndex&parent,int,int,QModelIndex,int)));*/ } QAbstractProxyModel::setSourceModel( model ); if ( model ) { connect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(sourceDataChanged(QModelIndex,QModelIndex))); /* connect(model, SIGNAL(headerDataChanged(Qt::Orientation,int,int)), this, SLOT(sourceHeaderDataChanged(Qt::Orientation,int,int)));*/ connect(model, SIGNAL(layoutChanged()), this, SIGNAL(layoutChanged())); connect(model, SIGNAL(layoutAboutToBeChanged()), this, SIGNAL(layoutAboutToBeChanged())); connect(model, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(sourceRowsAboutToBeInserted(QModelIndex,int,int))); connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(sourceRowsInserted(QModelIndex,int,int))); connect(model, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(sourceRowsAboutToBeRemoved(QModelIndex,int,int))); connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(sourceRowsRemoved(QModelIndex,int,int))); /* connect(model, SIGNAL(columnsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(sourceColumnsAboutToBeInserted(QModelIndex,int,int))); connect(model, SIGNAL(columnsInserted(QModelIndex,int,int)), this, SLOT(sourceColumnsInserted(QModelIndex,int,int))); connect(model, SIGNAL(columnsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(sourceColumnsAboutToBeRemoved(QModelIndex,int,int))); connect(model, SIGNAL(columnsRemoved(QModelIndex,int,int)), this, SLOT(sourceColumnsRemoved(QModelIndex,int,int))); */ connect(model, SIGNAL(modelAboutToBeReset()), this, SLOT(sourceModelAboutToBeReset())); connect(model, SIGNAL(modelReset()), this, SLOT(sourceModelReset())); connect(model, SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(sourceRowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); connect(model, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(sourceRowsMoved(QModelIndex,int,int,QModelIndex,int))); /* connect(model, SIGNAL(columnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(sourceColumnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); connect(model, SIGNAL(columnsMoved(QModelIndex&parent,int,int,QModelIndex,int)), this, SLOT(sourceColumnsMoved(QModelIndex&parent,int,int,QModelIndex,int)));*/ } }