AddressBookModel::AddressBookModel(QObject *parent, AddressBook *addressBook) : QAbstractListModel(parent) , m_addressBook(addressBook) { qDebug(__FUNCTION__); connect(m_addressBook,SIGNAL(refreshStarted()),this,SLOT(startReset())); connect(m_addressBook,SIGNAL(refreshFinished()),this,SLOT(endReset())); }
void LocalFileMonitor::fullRefreshFileList() { emit refreshStarted(); refreshTimer.stop(); // Refresh the file list refreshTimer.start(); emit refreshCompleted(); }
QList<TransactionInfo *> TransactionHistory::getAll(quint32 accountIndex) const { // XXX this invalidates previously saved history that might be used by model emit refreshStarted(); qDeleteAll(m_tinfo); m_tinfo.clear(); QDateTime firstDateTime = QDateTime(QDate(2014, 4, 18)); // the genesis block QDateTime lastDateTime = QDateTime::currentDateTime().addDays(1); // tomorrow (guard against jitter and timezones) quint64 lastTxHeight = 0; m_locked = false; m_minutesToUnlock = 0; TransactionHistory * parent = const_cast<TransactionHistory*>(this); for (const auto i : m_pimpl->getAll()) { TransactionInfo * ti = new TransactionInfo(i, parent); if (ti->subaddrAccount() != accountIndex) { delete ti; continue; } m_tinfo.append(ti); // looking for transactions timestamp scope if (ti->timestamp() >= lastDateTime) { lastDateTime = ti->timestamp(); } if (ti->timestamp() <= firstDateTime) { firstDateTime = ti->timestamp(); } quint64 requiredConfirmations = (ti->blockHeight() < ti->unlockTime()) ? ti->unlockTime() - ti->blockHeight() : 10; // store last tx height if (ti->confirmations() < requiredConfirmations && ti->blockHeight() >= lastTxHeight) { lastTxHeight = ti->blockHeight(); // TODO: Fetch block time and confirmations needed from wallet2? m_minutesToUnlock = (requiredConfirmations - ti->confirmations()) * 2; m_locked = true; } } emit refreshFinished(); if (m_firstDateTime != firstDateTime) { m_firstDateTime = firstDateTime; emit firstDateTimeChanged(); } if (m_lastDateTime != lastDateTime) { m_lastDateTime = lastDateTime; emit lastDateTimeChanged(); } return m_tinfo; }
void LocalFileMonitor::directoryChanged(QString path) { // Remove all from that folder and refresh QMapIterator<QString, QString> i(FilePirate::Application().sharedFolders); while (i.hasNext()) { i.next(); if (path.contains(i.value())) { FilePirate::Application().localList->clearFolder(i.key()); break; } } fullRefreshFileList(); emit refreshStarted(); }