1884
1892
d->publishUI.publishCheckbox = 0;
1885
if (d->package && d->configLoader) {
1886
1894
KConfigDialog *dialog = 0;
1888
QString uiFile = d->package->filePath("mainconfigui");
1889
if (!uiFile.isEmpty()) {
1896
const QString uiFile = d->package->filePath("mainconfigui");
1897
KDesktopFile df(d->package->path() + "/metadata.desktop");
1898
const QStringList kcmPlugins = df.desktopGroup().readEntry("X-Plasma-ConfigPlugins", QStringList());
1899
if (!uiFile.isEmpty() || !kcmPlugins.isEmpty()) {
1900
KConfigSkeleton *configLoader = d->configLoader ? d->configLoader : new KConfigSkeleton(0);
1901
dialog = new AppletConfigDialog(0, d->configDialogId(), configLoader);
1903
if (!d->configLoader) {
1904
// delete the temporary when this dialog is done
1905
configLoader->setParent(dialog);
1908
dialog->setWindowTitle(d->configWindowTitle());
1909
dialog->setAttribute(Qt::WA_DeleteOnClose, true);
1910
bool hasPages = false;
1890
1912
QFile f(uiFile);
1891
1913
QUiLoader loader;
1892
1914
QWidget *w = loader.load(&f);
1894
dialog = new AppletConfigDialog(0, d->configDialogId(), d->configLoader);
1895
dialog->setWindowTitle(d->configWindowTitle());
1896
dialog->setAttribute(Qt::WA_DeleteOnClose, true);
1897
1916
dialog->addPage(w, i18n("Settings"), icon(), i18n("%1 Settings", name()));
1920
foreach (const QString &kcm, kcmPlugins) {
1921
#ifndef PLASMA_NO_KUTILS
1922
KCModuleProxy *module = new KCModuleProxy(kcm);
1923
if (module->realModule()) {
1924
dialog->addPage(module, module->moduleInfo().moduleName(), module->moduleInfo().icon());
1930
KService::Ptr service = KService::serviceByStorageId(kcm);
1933
KCModule *module = service->createInstance<KCModule>(dialog, QVariantList(), &error);
1935
connect(module, SIGNAL(changed(bool)), dialog, SLOT(settingsModified(bool)));
1936
dialog->addPage(module, service->name(), service->icon());
1940
kDebug() << "failed to load kcm" << kcm << "for" << name();
1898
1948
d->addGlobalShortcutsPage(dialog);
1899
1949
d->addPublishPage(dialog);
1900
1950
dialog->show();
1969
2022
KConfigSkeleton *nullManager = new KConfigSkeleton(0);
1970
2023
KConfigDialog *dialog = new AppletConfigDialog(0, configDialogId(), nullManager);
2024
nullManager->setParent(dialog);
1971
2025
dialog->setFaceType(KPageDialog::Auto);
1972
2026
dialog->setWindowTitle(configWindowTitle());
1973
2027
dialog->setAttribute(Qt::WA_DeleteOnClose, true);
1975
2029
dialog->showButton(KDialog::Default, false);
1976
2030
QObject::connect(dialog, SIGNAL(applyClicked()), q, SLOT(configDialogFinished()));
1977
2031
QObject::connect(dialog, SIGNAL(okClicked()), q, SLOT(configDialogFinished()));
1978
QObject::connect(dialog, SIGNAL(finished()), nullManager, SLOT(deleteLater()));
2007
2061
QObject::connect(dialog, SIGNAL(applyClicked()), q, SLOT(configDialogFinished()), Qt::UniqueConnection);
2008
2062
QObject::connect(dialog, SIGNAL(okClicked()), q, SLOT(configDialogFinished()), Qt::UniqueConnection);
2011
2066
void AppletPrivate::addPublishPage(KConfigDialog *dialog)
2466
2521
} else if (d->aspectRatioMode == Plasma::ConstrainedSquare) {
2467
2522
//enforce a size not wider than tall
2468
if (ff == Horizontal && (which == Qt::MaximumSize || size().height() <= KIconLoader::SizeLarge)) {
2523
if (ff == Horizontal) {
2469
2524
hint.setWidth(size().height());
2470
2525
//enforce a size not taller than wide
2471
2526
} else if (ff == Vertical && (which == Qt::MaximumSize || size().width() <= KIconLoader::SizeLarge)) {