void CSSCustomDialog::slotPreview() { const QString templ(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kcmcss/template.css"))); if (templ.isEmpty()) { return; } CSSTemplate css(templ); QString data(i18n("<html>\n<head>\n<style>\n<!--\n" "%1" "\n-->\n</style>\n</head>\n" "<body>\n" "<h1>Heading 1</h1>\n" "<h2>Heading 2</h2>\n" "<h3>Heading 3</h3>\n" "\n" "<p>User-defined stylesheets allow increased\n" "accessibility for visually handicapped\n" "people.</p>\n" "\n" "</body>\n" "</html>\n", css.expandToString(cssDict()))); KParts::OpenUrlArguments args(part->arguments()); args.setReload(true); // Make sure the content is always freshly reloaded. part->setArguments(args); part->openUrl(toDataUri(data, "text/html")); }
void CSSConfig::save() { // write to config file KConfig *c = new KConfig("kcmcssrc", false, false); c->setGroup("Stylesheet"); if (configDialog->useDefault->isChecked()) c->writeEntry("Use", "default"); if (configDialog->useUser->isChecked()) c->writeEntry("Use", "user"); if (configDialog->useAccess->isChecked()) c->writeEntry("Use", "access"); c->writeEntry("SheetName", configDialog->urlRequester->url()); c->setGroup("Font"); c->writeEntry("BaseSize", customDialog->basefontsize->currentText()); c->writeEntry("DontScale", customDialog->dontScale->isChecked()); c->writeEntry("SameFamily", customDialog->sameFamily->isChecked()); c->writeEntry("Family", customDialog->fontFamily->currentText()); c->setGroup("Colors"); if (customDialog->blackOnWhite->isChecked()) c->writeEntry("Mode", "black-on-white"); if (customDialog->whiteOnBlack->isChecked()) c->writeEntry("Mode", "white-on-black"); if (customDialog->customColor->isChecked()) c->writeEntry("Mode", "custom"); c->writeEntry("BackColor", customDialog->backgroundColor->color()); c->writeEntry("ForeColor", customDialog->foregroundColor->color()); c->writeEntry("SameColor", customDialog->sameColor->isChecked()); c->setGroup("Images"); c->writeEntry("Hide", customDialog->hideImages->isChecked()); c->writeEntry("HideBackground", customDialog->hideBackground->isChecked()); c->sync(); delete c; // generate CSS template QString templ = locate("data", "kcmcss/template.css"); QString dest; if (!templ.isEmpty()) { CSSTemplate css(templ); dest = kapp->dirs()->saveLocation("data", "kcmcss"); dest += "/override.css"; css.expand(dest, cssDict()); } // make konqueror use the right stylesheet c = new KConfig("konquerorrc", false, false); c->setGroup("HTML Settings"); c->writeEntry("UserStyleSheetEnabled", !configDialog->useDefault->isChecked()); if (configDialog->useUser->isChecked()) c->writeEntry("UserStyleSheet", configDialog->urlRequester->url()); if (configDialog->useAccess->isChecked()) c->writeEntry("UserStyleSheet", dest); c->sync(); delete c; emit changed(false); }