From e374833681585f8f58267e439bde33e806989f70 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Sat, 4 Jun 2022 07:23:56 +0100 Subject: [PATCH] Display thumbnail if one is available on creation --- .../muwire/gui/profile/ViewProfileView.groovy | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/gui/griffon-app/views/com/muwire/gui/profile/ViewProfileView.groovy b/gui/griffon-app/views/com/muwire/gui/profile/ViewProfileView.groovy index cbdbc906..2205b59c 100644 --- a/gui/griffon-app/views/com/muwire/gui/profile/ViewProfileView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/profile/ViewProfileView.groovy @@ -60,12 +60,7 @@ class ViewProfileView { borderLayout() panel(border: titledBorder(title : trans("PROFILE_VIEWER_HEADER"), border: etchedBorder(), titlePosition: TitledBorder.TOP), constraints: BorderLayout.NORTH) { - if (model.profileHeader == null) - thumbnailPanel = panel(preferredSize: [ProfileConstants.MAX_THUMBNAIL_SIZE, ProfileConstants.MAX_THUMBNAIL_SIZE]) - else { - Icon thumbNail = new ThumbnailIcon(model.profileHeader.getThumbNail()) - thumbnailPanel = panel(icon: thumbNail.image) - } + thumbnailPanel = panel(preferredSize: [ProfileConstants.MAX_THUMBNAIL_SIZE, ProfileConstants.MAX_THUMBNAIL_SIZE]) if (model.profileTitle == null) titleLabel = label(text: trans("PROFILE_VIEWER_HEADER_MISSING")) else @@ -113,12 +108,19 @@ class ViewProfileView { } } - window.setPreferredSize([dimX, dimY] as Dimension) } void mvcGroupInit(Map params) { window.addWindowListener(new WindowAdapter() { + @Override + void windowOpened(WindowEvent e) { + if (model.profileHeader != null) { + Icon thumbNail = new ThumbnailIcon(model.profileHeader.getThumbNail()) + drawThumbnail(thumbNail) + } + } + @Override void windowClosed(WindowEvent e) { mvcGroup.destroy() @@ -141,11 +143,7 @@ class ViewProfileView { SwingUtilities.invokeLater { Icon thumbNail = new ThumbnailIcon(profile.getHeader().getThumbNail()) - def thumbDim = thumbnailPanel.getSize() - thumbnailPanel.getGraphics().drawImage(thumbNail.image, - (int)(thumbDim.getWidth() / 2) - (int)(thumbNail.getIconHeight() / 2), - (int)(thumbDim.getHeight() / 2) - (int)(thumbNail.getIconHeight() / 2), - null) + drawThumbnail(thumbNail) def imgDim = imagePanel.getSize() imagePanel.getGraphics().drawImage(mainImage, @@ -154,4 +152,12 @@ class ViewProfileView { null) } as Runnable } + + private void drawThumbnail(ThumbnailIcon thumbNail) { + def thumbDim = thumbnailPanel.getSize() + thumbnailPanel.getGraphics().drawImage(thumbNail.image, + (int)(thumbDim.getWidth() / 2) - (int)(thumbNail.getIconHeight() / 2), + (int)(thumbDim.getHeight() / 2) - (int)(thumbNail.getIconHeight() / 2), + null) + } }