Factorize a bit more.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40669 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Philippe Houdoin
2011-02-24 18:14:08 +00:00
parent bb0416a246
commit e23bbaff47
2 changed files with 13 additions and 18 deletions
+12 -17
View File
@@ -120,20 +120,20 @@ PictureView::Revert()
if (!HasChanged())
return;
_DeletePicture();
fPicture = fOriginalPicture;
Invalidate();
_SetPicture(fOriginalPicture);
}
void
PictureView::Update(const entry_ref* ref)
{
fOriginalPicture = BTranslationUtils::GetBitmap(ref);
if (fOriginalPicture != NULL)
fPicture = fOriginalPicture;
// Don't update when user has changed the picture
if (HasChanged())
return;
Invalidate();
delete fOriginalPicture;
fOriginalPicture = BTranslationUtils::GetBitmap(ref);
_SetPicture(fOriginalPicture);
}
@@ -158,9 +158,7 @@ PictureView::MessageReceived(BMessage* message)
if (picture == NULL)
break;
_DeletePicture();
fPicture = picture;
_SetPicture(picture);
MakeFocus(true);
break;
}
@@ -171,7 +169,7 @@ PictureView::MessageReceived(BMessage* message)
case B_DELETE:
case B_TRASH_TARGET:
_DeletePicture();
_SetPicture(NULL);
break;
case kMsgPopUpMenuClosed:
@@ -274,7 +272,7 @@ PictureView::KeyDown(const char* bytes, int32 numBytes)
switch (*bytes) {
case B_DELETE:
_DeletePicture();
_SetPicture(NULL);
break;
default:
@@ -411,15 +409,12 @@ PictureView::_HandleDrop(BMessage* message)
void
PictureView::_DeletePicture()
PictureView::_SetPicture(BBitmap* picture)
{
if (fPicture == NULL)
return;
if (fPicture != fOriginalPicture)
delete fPicture;
fPicture = NULL;
fPicture = picture;
Invalidate();
}
+1 -1
View File
@@ -44,7 +44,7 @@ private:
void _ShowPopUpMenu(BPoint screen);
BBitmap* _CopyPicture(uint8 alpha);
void _DeletePicture();
void _SetPicture(BBitmap* bitmap);
BBitmap* fPicture;
BBitmap* fOriginalPicture;