64 lines
2.8 KiB
Diff
64 lines
2.8 KiB
Diff
Index: plasma/applet.cpp
|
|
===================================================================
|
|
--- plasma/applet.cpp (Revision 1090827)
|
|
+++ plasma/applet.cpp (Revision 1090828)
|
|
@@ -1712,6 +1712,7 @@
|
|
return;
|
|
}
|
|
|
|
+ d->publishUI.publishCheckbox = 0;
|
|
if (d->package && d->configLoader) {
|
|
KConfigDialog *dialog = 0;
|
|
|
|
@@ -1878,29 +1879,31 @@
|
|
}
|
|
|
|
#ifdef ENABLE_REMOTE_WIDGETS
|
|
- q->config().writeEntry("Share", publishUI.publishCheckbox->isChecked());
|
|
+ if (publishUI.publishCheckbox) {
|
|
+ q->config().writeEntry("Share", publishUI.publishCheckbox->isChecked());
|
|
|
|
- if (publishUI.publishCheckbox->isChecked()) {
|
|
- QString resourceName =
|
|
- i18nc("%1 is the name of a plasmoid, %2 the name of the machine that plasmoid is published on",
|
|
- "%1 on %2", q->name(), QHostInfo::localHostName());
|
|
- q->publish(Plasma::ZeroconfAnnouncement, resourceName);
|
|
- if (publishUI.allUsersCheckbox->isChecked()) {
|
|
- if (!AuthorizationManager::self()->d->matchingRule(resourceName, Credentials())) {
|
|
- AuthorizationRule *rule = new AuthorizationRule(resourceName, "");
|
|
- rule->setPolicy(AuthorizationRule::Allow);
|
|
- rule->setTargets(AuthorizationRule::AllUsers);
|
|
- AuthorizationManager::self()->d->rules.append(rule);
|
|
+ if (publishUI.publishCheckbox->isChecked()) {
|
|
+ QString resourceName =
|
|
+ i18nc("%1 is the name of a plasmoid, %2 the name of the machine that plasmoid is published on",
|
|
+ "%1 on %2", q->name(), QHostInfo::localHostName());
|
|
+ q->publish(Plasma::ZeroconfAnnouncement, resourceName);
|
|
+ if (publishUI.allUsersCheckbox->isChecked()) {
|
|
+ if (!AuthorizationManager::self()->d->matchingRule(resourceName, Credentials())) {
|
|
+ AuthorizationRule *rule = new AuthorizationRule(resourceName, "");
|
|
+ rule->setPolicy(AuthorizationRule::Allow);
|
|
+ rule->setTargets(AuthorizationRule::AllUsers);
|
|
+ AuthorizationManager::self()->d->rules.append(rule);
|
|
+ }
|
|
+ } else {
|
|
+ AuthorizationRule *matchingRule =
|
|
+ AuthorizationManager::self()->d->matchingRule(resourceName, Credentials());
|
|
+ if (matchingRule) {
|
|
+ AuthorizationManager::self()->d->rules.removeAll(matchingRule);
|
|
+ }
|
|
}
|
|
} else {
|
|
- AuthorizationRule *matchingRule =
|
|
- AuthorizationManager::self()->d->matchingRule(resourceName, Credentials());
|
|
- if (matchingRule) {
|
|
- AuthorizationManager::self()->d->rules.removeAll(matchingRule);
|
|
- }
|
|
+ q->unpublish();
|
|
}
|
|
- } else {
|
|
- q->unpublish();
|
|
}
|
|
#endif
|
|
|