Example #1
0
void TelegramMessagesModel::loadMore(bool force)
{
    if( !p->telegram )
        return;
    if( !p->dialog )
        return;
    if( !force && p->messages.count() == 0 )
        return;
    if( !force && p->load_limit == p->load_count + LOAD_STEP_COUNT)
        return;

    p->load_limit = p->load_count + LOAD_STEP_COUNT;

    Telegram *tgObject = p->telegram->telegram();
    if(p->dialog->encrypted())
    {
        Peer peer(Peer::typePeerChat);
        peer.setChatId(p->dialog->peer()->userId());

        p->telegram->database()->readMessages(peer, p->load_count, LOAD_STEP_COUNT);
        return;
    }

    const InputPeer & peer = p->telegram->getInputPeer(peerId());

    if(p->dialog->peer()->userId() != CutegramDialog::cutegramId())
    {
        tgObject->messagesGetHistory(peer, p->load_count, p->maxId, p->load_limit );
        p->refreshing = true;
    }

    p->telegram->database()->readMessages(TelegramMessagesModel::peer(), p->load_count, LOAD_STEP_COUNT);

    emit refreshingChanged();
}
void TelegramMembersListModel::setRefreshing(bool refreshing)
{
    if(p->refreshing == refreshing)
        return;

    p->refreshing = refreshing;
    Q_EMIT refreshingChanged();
}
Example #3
0
void TelegramMessagesModel::init()
{
    if( !p->dialog )
        return;
    if( !p->telegram )
        return;
    if( p->dialog == p->telegram->nullDialog() )
        return;

    p->load_count = 0;
    p->load_limit = LOAD_STEP_COUNT;
    loadMore(true);
    messagesChanged(true);

    if(p->dialog->peer()->userId() != CutegramDialog::cutegramId())
    {
        p->refreshing = true;
        emit refreshingChanged();
    }
}