Preferences Panel : Check if the font, size or color was indeed changed before setting it as modified, avoiding unneeded "Save/Cancel" dialog.
This fixes ticket #3348. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32421 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -176,21 +176,36 @@ AppearancePrefView::MessageReceived(BMessage *msg)
|
|||||||
|
|
||||||
switch (msg->what) {
|
switch (msg->what) {
|
||||||
case MSG_HALF_FONT_CHANGED:
|
case MSG_HALF_FONT_CHANGED:
|
||||||
PrefHandler::Default()->setString(PREF_HALF_FONT_FAMILY,
|
if (strcmp(
|
||||||
fFont->Menu()->FindMarked()->Label());
|
PrefHandler::Default()->getString(PREF_HALF_FONT_FAMILY),
|
||||||
modified = true;
|
fFont->Menu()->FindMarked()->Label())) {
|
||||||
|
|
||||||
|
PrefHandler::Default()->setString(PREF_HALF_FONT_FAMILY,
|
||||||
|
fFont->Menu()->FindMarked()->Label());
|
||||||
|
modified = true;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSG_HALF_SIZE_CHANGED:
|
case MSG_HALF_SIZE_CHANGED:
|
||||||
PrefHandler::Default()->setString(PREF_HALF_FONT_SIZE,
|
if (strcmp(PrefHandler::Default()->getString(PREF_HALF_FONT_SIZE),
|
||||||
fFontSize->Menu()->FindMarked()->Label());
|
fFontSize->Menu()->FindMarked()->Label())) {
|
||||||
modified = true;
|
|
||||||
|
PrefHandler::Default()->setString(PREF_HALF_FONT_SIZE,
|
||||||
|
fFontSize->Menu()->FindMarked()->Label());
|
||||||
|
modified = true;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSG_COLOR_CHANGED:
|
case MSG_COLOR_CHANGED: {
|
||||||
PrefHandler::Default()->setRGB(fColorField->Menu()->FindMarked()->Label(),
|
rgb_color oldColor = PrefHandler::Default()->getRGB(
|
||||||
fColorControl->ValueAsColor());
|
fColorField->Menu()->FindMarked()->Label());
|
||||||
modified = true;
|
if (oldColor != fColorControl->ValueAsColor()) {
|
||||||
|
PrefHandler::Default()->setRGB(
|
||||||
|
fColorField->Menu()->FindMarked()->Label(),
|
||||||
|
fColorControl->ValueAsColor());
|
||||||
|
modified = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSG_COLOR_FIELD_CHANGED:
|
case MSG_COLOR_FIELD_CHANGED:
|
||||||
|
|||||||
Reference in New Issue
Block a user