Exemplo n.º 1
0
void BGDialog::slotPreviewDone(int screen_done)
{
    if (!m_previewUpdates)
        return;

    KBackgroundRenderer *r = m_renderer[(m_eScreen>1) ? (screen_done+2) : m_eScreen];

    if (r->image().isNull())
        return;

    r->saveCacheFile();

    QPixmap pm = QPixmap::fromImage(r->image());

    if (m_eScreen == 0) {
        m_pMonitorArrangement->setPixmap(pm);
    } else if (m_eScreen == 1) {
        for (unsigned i = 0; i < m_pMonitorArrangement->numMonitors(); ++i)
            m_pMonitorArrangement->monitor(i)->setPreview(pm);
    } else {
        m_pMonitorArrangement->monitor(screen_done)->setPreview(pm);
    }
}