* Add a Plasma::AppletScript::addStandardConfigurationPages() method that adds
standard pages to a configuration dialog such as the shortcuts one. In conjunction with standardConfigurationDialog() this will allow script engines to use the same dialogs as C++ applets svn path=/branches/KDE/4.3/kdelibs/; revision=1013766
This commit is contained in:
parent
cc3a2992fc
commit
fca66bfd9e
18
applet.cpp
18
applet.cpp
@ -1584,13 +1584,14 @@ void Applet::showConfigurationInterface()
|
|||||||
}
|
}
|
||||||
|
|
||||||
d->addGlobalShortcutsPage(dialog);
|
d->addGlobalShortcutsPage(dialog);
|
||||||
connect(dialog, SIGNAL(applyClicked()), this, SLOT(configDialogFinished()));
|
|
||||||
connect(dialog, SIGNAL(okClicked()), this, SLOT(configDialogFinished()));
|
|
||||||
dialog->show();
|
dialog->show();
|
||||||
} else if (d->script) {
|
} else if (d->script) {
|
||||||
d->script->showConfigurationInterface();
|
d->script->showConfigurationInterface();
|
||||||
} else {
|
} else {
|
||||||
d->generateGenericConfigDialog()->show();
|
KConfigDialog *dialog = d->generateGenericConfigDialog();
|
||||||
|
createConfigurationInterface(dialog);
|
||||||
|
d->addGlobalShortcutsPage(dialog);
|
||||||
|
dialog->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
emit releaseVisualFocus();
|
emit releaseVisualFocus();
|
||||||
@ -1640,12 +1641,6 @@ KConfigDialog *AppletPrivate::generateGenericConfigDialog()
|
|||||||
dialog->setFaceType(KPageDialog::Auto);
|
dialog->setFaceType(KPageDialog::Auto);
|
||||||
dialog->setWindowTitle(configWindowTitle());
|
dialog->setWindowTitle(configWindowTitle());
|
||||||
dialog->setAttribute(Qt::WA_DeleteOnClose, true);
|
dialog->setAttribute(Qt::WA_DeleteOnClose, true);
|
||||||
q->createConfigurationInterface(dialog);
|
|
||||||
addGlobalShortcutsPage(dialog);
|
|
||||||
//TODO: Apply button does not correctly work for now, so do not show it
|
|
||||||
dialog->showButton(KDialog::Apply, false);
|
|
||||||
QObject::connect(dialog, SIGNAL(applyClicked()), q, SLOT(configDialogFinished()));
|
|
||||||
QObject::connect(dialog, SIGNAL(okClicked()), q, SLOT(configDialogFinished()));
|
|
||||||
QObject::connect(dialog, SIGNAL(finished()), nullManager, SLOT(deleteLater()));
|
QObject::connect(dialog, SIGNAL(finished()), nullManager, SLOT(deleteLater()));
|
||||||
return dialog;
|
return dialog;
|
||||||
}
|
}
|
||||||
@ -1668,6 +1663,11 @@ void AppletPrivate::addGlobalShortcutsPage(KConfigDialog *dialog)
|
|||||||
layout->addWidget(shortcutEditor);
|
layout->addWidget(shortcutEditor);
|
||||||
layout->addStretch();
|
layout->addStretch();
|
||||||
dialog->addPage(page, i18n("Keyboard Shortcut"), "preferences-desktop-keyboard");
|
dialog->addPage(page, i18n("Keyboard Shortcut"), "preferences-desktop-keyboard");
|
||||||
|
|
||||||
|
//TODO: Apply button does not correctly work for now, so do not show it
|
||||||
|
dialog->showButton(KDialog::Apply, false);
|
||||||
|
QObject::connect(dialog, SIGNAL(applyClicked()), q, SLOT(configDialogFinished()));
|
||||||
|
QObject::connect(dialog, SIGNAL(okClicked()), q, SLOT(configDialogFinished()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void AppletPrivate::clearShortcutEditorPtr()
|
void AppletPrivate::clearShortcutEditorPtr()
|
||||||
|
@ -140,6 +140,15 @@ KConfigDialog *AppletScript::standardConfigurationDialog()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AppletScript::addStandardConfigurationPages(KConfigDialog *dialog)
|
||||||
|
{
|
||||||
|
if (applet()) {
|
||||||
|
return applet()->d->addGlobalShortcutsPage(dialog);
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
void AppletScript::configChanged()
|
void AppletScript::configChanged()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -180,6 +180,12 @@ protected:
|
|||||||
*/
|
*/
|
||||||
KConfigDialog *standardConfigurationDialog();
|
KConfigDialog *standardConfigurationDialog();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method should be called after a scripting applet has added
|
||||||
|
* its own pages to a configuration dialog
|
||||||
|
*/
|
||||||
|
void addStandardConfigurationPages(KConfigDialog *dialog);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
AppletScriptPrivate *const d;
|
AppletScriptPrivate *const d;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user