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:
@@ -120,20 +120,20 @@ PictureView::Revert()
|
|||||||
if (!HasChanged())
|
if (!HasChanged())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_DeletePicture();
|
_SetPicture(fOriginalPicture);
|
||||||
fPicture = fOriginalPicture;
|
|
||||||
Invalidate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
PictureView::Update(const entry_ref* ref)
|
PictureView::Update(const entry_ref* ref)
|
||||||
{
|
{
|
||||||
fOriginalPicture = BTranslationUtils::GetBitmap(ref);
|
// Don't update when user has changed the picture
|
||||||
if (fOriginalPicture != NULL)
|
if (HasChanged())
|
||||||
fPicture = fOriginalPicture;
|
return;
|
||||||
|
|
||||||
Invalidate();
|
delete fOriginalPicture;
|
||||||
|
fOriginalPicture = BTranslationUtils::GetBitmap(ref);
|
||||||
|
_SetPicture(fOriginalPicture);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -158,9 +158,7 @@ PictureView::MessageReceived(BMessage* message)
|
|||||||
if (picture == NULL)
|
if (picture == NULL)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
_DeletePicture();
|
_SetPicture(picture);
|
||||||
|
|
||||||
fPicture = picture;
|
|
||||||
MakeFocus(true);
|
MakeFocus(true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -171,7 +169,7 @@ PictureView::MessageReceived(BMessage* message)
|
|||||||
|
|
||||||
case B_DELETE:
|
case B_DELETE:
|
||||||
case B_TRASH_TARGET:
|
case B_TRASH_TARGET:
|
||||||
_DeletePicture();
|
_SetPicture(NULL);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kMsgPopUpMenuClosed:
|
case kMsgPopUpMenuClosed:
|
||||||
@@ -274,7 +272,7 @@ PictureView::KeyDown(const char* bytes, int32 numBytes)
|
|||||||
|
|
||||||
switch (*bytes) {
|
switch (*bytes) {
|
||||||
case B_DELETE:
|
case B_DELETE:
|
||||||
_DeletePicture();
|
_SetPicture(NULL);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -411,15 +409,12 @@ PictureView::_HandleDrop(BMessage* message)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
PictureView::_DeletePicture()
|
PictureView::_SetPicture(BBitmap* picture)
|
||||||
{
|
{
|
||||||
if (fPicture == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (fPicture != fOriginalPicture)
|
if (fPicture != fOriginalPicture)
|
||||||
delete fPicture;
|
delete fPicture;
|
||||||
|
|
||||||
fPicture = NULL;
|
fPicture = picture;
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ private:
|
|||||||
void _ShowPopUpMenu(BPoint screen);
|
void _ShowPopUpMenu(BPoint screen);
|
||||||
BBitmap* _CopyPicture(uint8 alpha);
|
BBitmap* _CopyPicture(uint8 alpha);
|
||||||
|
|
||||||
void _DeletePicture();
|
void _SetPicture(BBitmap* bitmap);
|
||||||
|
|
||||||
BBitmap* fPicture;
|
BBitmap* fPicture;
|
||||||
BBitmap* fOriginalPicture;
|
BBitmap* fOriginalPicture;
|
||||||
|
|||||||
Reference in New Issue
Block a user