示例#1
0
/**
 * @brief cwRegionLoadTask::loadTrip
 * @param protoTrip
 * @param trip
 */
void cwRegionLoadTask::loadTrip(const CavewhereProto::Trip& protoTrip, cwTrip *trip)
{
    QString tripName = loadString(protoTrip.name());
    QDate tripDate = loadDate(protoTrip.date());

    trip->setName(tripName);
    trip->setDate(tripDate);

    loadSurveyNoteModel(protoTrip.notemodel(), trip->notes());
    loadTripCalibration(protoTrip.tripcalibration(), trip->calibrations());
    loadTeam(protoTrip.team(), trip->team());

    QList<cwSurveyChunk*> chunks;
    chunks.reserve(protoTrip.chunks_size());
    for(int i = 0; i < protoTrip.chunks_size(); i++) {
        cwSurveyChunk* chunk = new cwSurveyChunk();
        loadSurveyChunk(protoTrip.chunks(i), chunk);
        chunks.append(chunk);
    }

    trip->setChucks(chunks);
}
示例#2
0
void
Journal::slotRealRefresh()
{
    if (_loading) return;
    _loading = true;
    setEnabled(false);
    QApplication::setOverrideCursor(waitCursor);
    qApp->processEvents();

    // Disabled updates so that progress bar updating doesn't also do lists
    _general->setUpdatesEnabled(false);
    _disbursements->setUpdatesEnabled(false);
    _receipts->setUpdatesEnabled(false);
    _sales->setUpdatesEnabled(false);
    _purchases->setUpdatesEnabled(false);
    _inventory->setUpdatesEnabled(false);
    _all->setUpdatesEnabled(false);

    // Load accounts if needed
    if (_accounts.size() == 0) {
	_quasar->db()->select(_accounts, AccountSelect());
    }

    // Clear out old values
    _general->clearList();
    _disbursements->clearList();
    _receipts->clearList();
    _sales->clearList();
    _purchases->clearList();
    _inventory->clearList();
    _all->clearList();

    _lastStart = _from->getDate();
    _lastEnd = _to->getDate();
    int days = _lastEnd - _lastStart + 1;

    // Setup progress dialog
    QProgressDialog* progress = new QProgressDialog(tr("Loading transactions..."),
						    tr("Cancel"), days, this,
						    "Progress", true);
    progress->setMinimumDuration(0);
    progress->setCaption(tr("Progress"));

    for (int day = 0; day < days; ++day) {
	loadDate(_lastStart + day);

	progress->setProgress(day);
	qApp->processEvents();
	if (progress->wasCancelled()) {
	    // TODO: add cancelled line
	    break;
	}
    }

    progress->setProgress(days);
    delete progress;

    // Enable updates on lists
    _general->setUpdatesEnabled(true);
    _disbursements->setUpdatesEnabled(true);
    _receipts->setUpdatesEnabled(true);
    _sales->setUpdatesEnabled(true);
    _purchases->setUpdatesEnabled(true);
    _inventory->setUpdatesEnabled(true);
    _all->setUpdatesEnabled(true);

    QApplication::restoreOverrideCursor();
    setEnabled(true);
    _loading = false;
    _refreshPending = false;
}