Пример #1
0
void McaPanelManager::feedRowsChanged()
{
    bool empty = m_feedProxy->rowCount() == 0;

    if (empty != m_isEmpty) {
        m_isEmpty = empty;
        emit isEmptyChanged(empty);
    }
}
Пример #2
0
    void QuickBuffer::handleMessage(const QuickBufferMessage &message) {
        LOG_DEBUG << "#";
        const bool overwrite = message.m_Override;

        if (!message.m_Title.isEmpty() || overwrite) { this->setTitle(message.m_Title); }
        if (!message.m_Description.isEmpty() || overwrite) { this->setDescription(message.m_Description); }
        if (!message.m_Keywords.empty() || overwrite) { this->setKeywords(message.m_Keywords); }

        emit isEmptyChanged();
    }
Пример #3
0
void TrackRecorder::clearTrack() {
    m_points.clear();
    m_distance = 0;
    m_isEmpty = true;

    QString homeDir = QStandardPaths::writableLocation(QStandardPaths::HomeLocation);
    QString subDir = "Rena";
    QDir renaDir = QDir(homeDir + "/" + subDir);
    renaDir.remove("Autosave");

    emit distanceChanged();
    emit timeChanged();
    emit isEmptyChanged();
    emit pointsChanged();
}
Пример #4
0
void TrackRecorder::positionUpdated(const QGeoPositionInfo &newPos) {
    if(newPos.hasAttribute(QGeoPositionInfo::HorizontalAccuracy)) {
        m_accuracy = newPos.attribute(QGeoPositionInfo::HorizontalAccuracy);
    } else {
        m_accuracy = -1;
    }
    emit accuracyChanged();

    m_currentPosition = newPos.coordinate();
    emit currentPositionChanged();

    if(newPos.hasAttribute(QGeoPositionInfo::HorizontalAccuracy) &&
            (newPos.attribute(QGeoPositionInfo::HorizontalAccuracy) > 30.0)) {
        return;
    }

    if(m_tracking) {
        m_points.append(newPos);
        emit pointsChanged();
        emit timeChanged();
        if(m_isEmpty) {
            m_isEmpty = false;
            m_minLat = m_maxLat = newPos.coordinate().latitude();
            m_minLon = m_maxLon = newPos.coordinate().longitude();
            emit isEmptyChanged();
        }

        if(m_points.size() > 1) {
            // Next line triggers following compiler warning?
            // \usr\include\qt5\QtCore\qlist.h:452: warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false [-Wstrict-overflow]
            m_distance += m_points.at(m_points.size()-2).coordinate().distanceTo(m_points.at(m_points.size()-1).coordinate());
            emit distanceChanged();
            if(newPos.coordinate().latitude() < m_minLat) {
                m_minLat = newPos.coordinate().latitude();
            } else if(newPos.coordinate().latitude() > m_maxLat) {
                m_maxLat = newPos.coordinate().latitude();
            }
            if(newPos.coordinate().longitude() < m_minLon) {
                m_minLon = newPos.coordinate().longitude();
            } else if(newPos.coordinate().longitude() > m_maxLon) {
                m_maxLon = newPos.coordinate().longitude();
            }
        }
        emit newTrackPoint(newPos.coordinate());
    }
}
Пример #5
0
 void QuickBuffer::clearKeywords() {
     doClearKeywords();
     emit isEmptyChanged();
 }
Пример #6
0
 void QuickBuffer::pasteKeywords(const QStringList &keywords) {
     doAppendKeywords(keywords);
     emit isEmptyChanged();
 }
Пример #7
0
 bool QuickBuffer::appendKeyword(const QString &keyword) {
     bool added = doAppendKeyword(keyword);
     emit isEmptyChanged();
     return added;
 }
Пример #8
0
 void QuickBuffer::removeLastKeyword() {
     QString keyword;
     doRemoveLastKeyword(keyword);
     emit isEmptyChanged();
 }
Пример #9
0
 void QuickBuffer::removeKeywordAt(int keywordIndex) {
     QString keyword;
     doRemoveKeywordAt(keywordIndex, keyword);
     emit isEmptyChanged();
 }
Пример #10
0
 void QuickBuffer::resetModel() {
     LOG_DEBUG << "#";
     m_BasicModel.clearModel();
     emit isEmptyChanged();
 }
Пример #11
0
void TrackRecorder::loadAutoSave() {
    QString homeDir = QStandardPaths::writableLocation(QStandardPaths::HomeLocation);
    QString subDir = "Rena";
    QString filename = "Autosave";
    QFile file;
    file.setFileName(homeDir + "/" + subDir + "/" + filename);
    if(!file.exists()) {
        qDebug()<<"No autosave found";
        return;
    }

    qDebug()<<"Loading autosave";

    if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
        qDebug()<<"File opening failed, aborting";
        return;
    }
    QTextStream stream(&file);

    while(!stream.atEnd()) {
        QGeoPositionInfo point;
        qreal lat, lon, alt, temp;
        QString timeStr;
        stream>>lat>>lon>>timeStr>>alt;
        point.setCoordinate(QGeoCoordinate(lat, lon, alt));
        point.setTimestamp(QDateTime::fromString(timeStr,Qt::ISODate));
        stream>>temp;
        if(temp == temp) {  // If value is not nan
            point.setAttribute(QGeoPositionInfo::Direction, temp);
        }
        stream>>temp;
        if(temp == temp) {
            point.setAttribute(QGeoPositionInfo::GroundSpeed, temp);
        }
        stream>>temp;
        if(temp == temp) {
            point.setAttribute(QGeoPositionInfo::VerticalSpeed, temp);
        }
        stream>>temp;
        if(temp == temp) {
            point.setAttribute(QGeoPositionInfo::MagneticVariation, temp);
        }
        stream>>temp;
        if(temp == temp) {
            point.setAttribute(QGeoPositionInfo::HorizontalAccuracy, temp);
        }
        stream>>temp;
        if(temp == temp) {
            point.setAttribute(QGeoPositionInfo::VerticalAccuracy, temp);
        }
        stream.readLine(); // Read rest of the line, if any
        m_points.append(point);
        if(m_points.size() > 1) {
            if(point.coordinate().latitude() < m_minLat) {
                m_minLat = point.coordinate().latitude();
            } else if(point.coordinate().latitude() > m_maxLat) {
                m_maxLat = point.coordinate().latitude();
            }
            if(point.coordinate().longitude() < m_minLon) {
                m_minLon = point.coordinate().longitude();
            } else if(point.coordinate().longitude() > m_maxLon) {
                m_maxLon = point.coordinate().longitude();
            }
        } else {
            m_minLat = m_maxLat = point.coordinate().latitude();
            m_minLon = m_maxLon = point.coordinate().longitude();
        }
        emit newTrackPoint(point.coordinate());
    }
    m_autoSavePosition = m_points.size();
    file.close();

    qDebug()<<m_autoSavePosition<<"track points loaded";

    emit pointsChanged();
    emit timeChanged();

    if(m_points.size() > 1) {
        for(int i=1;i<m_points.size();i++) {
            m_distance += m_points.at(i-1).coordinate().distanceTo(m_points.at(i).coordinate());
        }
        emit distanceChanged();
    }

    if(!m_points.isEmpty()) {
        m_isEmpty = false;
        emit isEmptyChanged();
    }
}