Exemplo n.º 1
0
void Containment::restore(KConfigGroup &group)
{
    /*
    #ifndef NDEBUG
    // qDebug() << "!!!!!!!!!!!!initConstraints" << group.name() << d->type;
    // qDebug() << "    location:" << group.readEntry("location", (int)d->location);
    // qDebug() << "    geom:" << group.readEntry("geometry", geometry());
    // qDebug() << "    formfactor:" << group.readEntry("formfactor", (int)d->formFactor);
    // qDebug() << "    screen:" << group.readEntry("screen", d->screen);
    #endif
    */
    setLocation((Plasma::Types::Location)group.readEntry("location", (int)d->location));
    setFormFactor((Plasma::Types::FormFactor)group.readEntry("formfactor", (int)d->formFactor));
    d->lastScreen = group.readEntry("lastScreen", d->lastScreen);

    setWallpaper(group.readEntry("wallpaperplugin", ContainmentPrivate::defaultWallpaper));

    d->activityId = group.readEntry("activityId", QString());

    flushPendingConstraintsEvents();
    restoreContents(group);
    setImmutability((Types::ImmutabilityType)group.readEntry("immutability", (int)Types::Mutable));

    if (isContainment()) {
        KConfigGroup cfg = KConfigGroup(corona()->config(), "ActionPlugins");
        cfg = KConfigGroup(&cfg, QString::number(containmentType()));

        //qDebug() << cfg.keyList();
        if (cfg.exists()) {
            foreach (const QString &key, cfg.keyList()) {
                //qDebug() << "loading" << key;
                setContainmentActions(key, cfg.readEntry(key, QString()));
            }
        } else { //shell defaults
Exemplo n.º 2
0
void BGDialog::slotImageDropped(const QString &uri)
{
    setWallpaper(uri);

    int optionID = m_buttonGroupBackground->id(m_radioPicture);
    m_buttonGroupBackground->setSelected(optionID);
    slotWallpaperTypeChanged(optionID);
}
Exemplo n.º 3
0
Arquivo: on.cpp Projeto: luisivan/on
On::On(QWidget *parent)
    : QWebView(parent)
{
    setWindow();
    setWebSettings();
    setWallpaper();
    setNative();
    getRDConf();
    loadByLanguage();
    //setUrl(QUrl("/usr/share/on/shell/index.html"));
    connect(page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(setNative()));
    //setWatchers();
    QFuture<void> future = QtConcurrent::run(this, &On::setWatchers);
}
Exemplo n.º 4
0
void ExportWizard::slotFinished(int code)
{
    if (code == QDialog::Accepted) {
        switch (currentId()) {
            case PageWallpaper: setWallpaper(); break;
            case PageImage: saveImage(); break;
            case PagePosteRazor: startPosterazor(); break;
            case PagePrint: printPaper(); break;
            case PagePdf: printPdf(); break;
            case PageSvg: saveSvg(); break;
            default:
                qWarning("ExportWizard::slotFinished: unhndled end for page %d", currentId());
                break;
        }
    }
}
Exemplo n.º 5
0
void BGDialog::slotWallpaperSelection()
{
    KUrl u;
    KFileDialog dlg(u, QString(), this);

    KImageFilePreview *previewWidget = new KImageFilePreview(&dlg);
    dlg.setPreviewWidget(previewWidget);

    QStringList mimeTypes = KImageIO::mimeTypes(KImageIO::Reading);
    mimeTypes += "image/svg+xml";
    dlg.setFilter(mimeTypes.join(" "));
    dlg.setMode(KFile::File | KFile::ExistingOnly | KFile::LocalOnly);
    dlg.setCaption(i18n("Select Wallpaper"));

    int j = m_urlWallpaperBox->currentIndex();
    QString uri;
    for (QMap<QString, int>::ConstIterator it = m_wallpaper.constBegin();
            it != m_wallpaper.constEnd();
            ++it) {
        if (it.value() == j) {
            uri = it.key();
            break;
        }
    }

    if (!uri.isEmpty()) {
        dlg.setSelection(uri);
    }

    if (dlg.exec() == QDialog::Accepted) {
        setWallpaper(dlg.selectedFile());

        int optionID = m_buttonGroupBackground->id(m_radioPicture);
        m_buttonGroupBackground->setSelected(optionID);
        slotWallpaperTypeChanged(optionID);

        emit changed(true);
    }
}
Exemplo n.º 6
0
void IconView::changeWallpaper()
{
    QString file = KFileDialog::getOpenFileName();
    setWallpaper( file );
}
Exemplo n.º 7
0
void BGDialog::slotWallpaperTypeChanged(int i)
{
    KBackgroundRenderer *r = eRenderer();
    r->stop();

    // No picture
    if (i == m_buttonGroupBackground->id(m_radioNoPicture)) { //None
        m_urlWallpaperBox->setEnabled(false);
        m_urlWallpaperButton->setEnabled(false);
        m_buttonSetupWallpapers->setEnabled(false);
        m_comboWallpaperPos->setEnabled(false);
        m_lblWallpaperPos->setEnabled(false);
        r->setWallpaperMode(KBackgroundSettings::NoWallpaper);

        if (m_slideShowRandom == KBackgroundSettings::InOrder)
            r->setMultiWallpaperMode(KBackgroundSettings::NoMulti);
        else
            r->setMultiWallpaperMode(KBackgroundSettings::NoMultiRandom);

        setBlendingEnabled(false);
    }

    // Slide show
    else if (i == m_buttonGroupBackground->id(m_radioSlideShow)) {
        m_urlWallpaperBox->setEnabled(false);
        m_urlWallpaperButton->setEnabled(false);
        m_buttonSetupWallpapers->setEnabled(true);
        m_comboWallpaperPos->setEnabled(true);
        m_lblWallpaperPos->setEnabled(true);
        setBlendingEnabled(true);

        m_comboWallpaperPos->blockSignals(true);
        m_comboWallpaperPos->setCurrentIndex(m_wallpaperPos - 1);
        m_comboWallpaperPos->blockSignals(false);

        if (r->wallpaperList().count() == 0)
            r->setWallpaperMode(KBackgroundSettings::NoWallpaper);
        else
            r->setWallpaperMode(m_wallpaperPos);

        r->setMultiWallpaperMode(m_slideShowRandom);
        setWallpaper(r->wallpaper());
        setBlendingEnabled(true);
    }

    // 1 Picture
    else if (i == m_buttonGroupBackground->id(m_radioPicture)) {
        m_urlWallpaperBox->setEnabled(true);
        m_urlWallpaperButton->setEnabled(true);
        m_buttonSetupWallpapers->setEnabled(false);
        m_lblWallpaperPos->setEnabled(true);
        m_comboWallpaperPos->setEnabled(true);
        setBlendingEnabled(true);

        if (m_slideShowRandom == KBackgroundSettings::InOrder)
            r->setMultiWallpaperMode(KBackgroundSettings::NoMulti);
        else
            r->setMultiWallpaperMode(KBackgroundSettings::NoMultiRandom);

        int j = m_urlWallpaperBox->currentIndex();
        QString path;
        for (QMap<QString, int>::ConstIterator it = m_wallpaper.constBegin();
                it != m_wallpaper.constEnd();
                ++it) {
            if (it.value() == j) {
                path = it.key();
                break;
            }
        }

        KFileMetaInfo metaInfo(path);
        if (metaInfo.isValid() && metaInfo.item("Dimensions").isValid()) {
            // If the image is greater than 800x600 default to using scaled mode,
            // otherwise default to tiled.

            QSize s = metaInfo.item("Dimensions").value().toSize();
            if (s.width() >= 800 && s.height() >= 600)
                m_wallpaperPos = KBackgroundSettings::Scaled;
            else
                m_wallpaperPos = KBackgroundSettings::Tiled;
        } else if (KMimeType::findByPath(path)->is("image/svg+xml")) {
            m_wallpaperPos = KBackgroundSettings::Scaled;
        }

        r->setWallpaperMode(m_wallpaperPos);
        m_comboWallpaperPos->blockSignals(true);
        m_comboWallpaperPos->setCurrentIndex(m_wallpaperPos - 1);
        m_comboWallpaperPos->blockSignals(false);

        r->setWallpaper(path);
    }

    r->start(true);
    m_copyAllScreens = true;
    emit changed(true);
}
Exemplo n.º 8
0
void BGDialog::updateUI()
{
    KBackgroundRenderer *r = eRenderer();
    m_comboScreen->setCurrentIndex(m_eScreen);

    m_colorPrimary->setColor(r->colorA());
    m_colorSecondary->setColor(r->colorB());

    int wallpaperMode = r->wallpaperMode();
    int multiMode = r->multiWallpaperMode();

    if (r->backgroundMode() == KBackgroundSettings::Program &&
            wallpaperMode == KBackgroundSettings::NoWallpaper)
        groupBox3->setEnabled(false);
    else
        groupBox3->setEnabled(true);

    if ((multiMode == KBackgroundSettings::NoMultiRandom) ||
            (multiMode == KBackgroundSettings::NoMulti)) {
        // No wallpaper
        if (wallpaperMode == KBackgroundSettings::NoWallpaper) {
            if (!m_readOnly) {
                m_urlWallpaperBox->setEnabled(false);
                m_urlWallpaperButton->setEnabled(false);
                m_buttonSetupWallpapers->setEnabled(false);
                m_comboWallpaperPos->setEnabled(false);
                m_lblWallpaperPos->setEnabled(false);
            }
            m_buttonGroupBackground->setSelected(
                m_buttonGroupBackground->id(m_radioNoPicture));
        }

        // 1 Picture
        else {
            if (!m_readOnly) {
                m_urlWallpaperBox->setEnabled(true);
                m_urlWallpaperButton->setEnabled(true);
                m_buttonSetupWallpapers->setEnabled(false);
                m_comboWallpaperPos->setEnabled(true);
                m_lblWallpaperPos->setEnabled(true);
            }
            setWallpaper(r->wallpaper());
            m_buttonGroupBackground->setSelected(
                m_buttonGroupBackground->id(m_radioPicture));
        }
    }

    // Slide show
    else {
        if (!m_readOnly) {
            m_urlWallpaperBox->setEnabled(false);
            m_urlWallpaperButton->setEnabled(false);
            m_buttonSetupWallpapers->setEnabled(true);
            m_comboWallpaperPos->setEnabled(true);
            m_lblWallpaperPos->setEnabled(true);
        }
        m_buttonGroupBackground->setSelected(
            m_buttonGroupBackground->id(m_radioSlideShow));
    }

    m_comboWallpaperPos->setCurrentIndex(r->wallpaperMode() - 1);

    bool bSecondaryEnabled = true;
    m_comboPattern->blockSignals(true);
    switch (r->backgroundMode()) {
    case KBackgroundSettings::Flat:
        m_comboPattern->setCurrentIndex(0);
        bSecondaryEnabled = false;
        break;

    case KBackgroundSettings::Pattern: {
        int i = m_patterns.indexOf(r->KBackgroundPattern::name());
        if (i >= 0)
            m_comboPattern->setCurrentIndex(NR_PREDEF_PATTERNS + i);
        else
            m_comboPattern->setCurrentIndex(0);
    }
    break;

    case KBackgroundSettings::Program:
        m_comboPattern->setCurrentIndex(0);
        bSecondaryEnabled = false;
        break;

    default: // Gradient
        m_comboPattern->setCurrentIndex(
            1 + r->backgroundMode() - KBackgroundSettings::HorizontalGradient);
        break;
    }
    m_comboPattern->blockSignals(false);

    m_colorSecondary->setEnabled(bSecondaryEnabled && !m_readOnly);

    int mode = r->blendMode();

    m_comboBlend->blockSignals(true);
    m_sliderBlend->blockSignals(true);

    m_comboBlend->setCurrentIndex(mode);
    m_cbBlendReverse->setChecked(r->reverseBlending());
    m_sliderBlend->setValue(r->blendBalance() / 10);

    m_comboBlend->blockSignals(false);
    m_sliderBlend->blockSignals(false);

    // turn it off if there is no background picture set!
    setBlendingEnabled(wallpaperMode != KBackgroundSettings::NoWallpaper);

    // Start preview renderer(s)
    if (m_eScreen == 0) {
        r->setPreview(m_pMonitorArrangement->combinedPreviewSize());
        r->start(true);
    } else if (m_eScreen == 1) {
        r->setPreview(m_pMonitorArrangement->maxPreviewSize());
        r->start(true);
    } else {
        for (unsigned j = 0; j < m_numScreens; ++j) {
            m_renderer[j+2]->stop();
            m_renderer[j+2]->setPreview(m_pMonitorArrangement->monitor(j)->previewRect().size());
            m_renderer[j+2]->start(true);
        }
    }
}