diff --git a/ganttproject/src/net/sourceforge/ganttproject/ChartTabContentPanel.java b/ganttproject/src/net/sourceforge/ganttproject/ChartTabContentPanel.java index 2194963a35..25cd0e8d76 100644 --- a/ganttproject/src/net/sourceforge/ganttproject/ChartTabContentPanel.java +++ b/ganttproject/src/net/sourceforge/ganttproject/ChartTabContentPanel.java @@ -62,6 +62,9 @@ public void windowOpened(WindowEvent windowEvent) { } }); } + void replaceImagePanel(Image image){ + myImagePanel.setIcon(new ImageIcon(image.getScaledInstance(-1, 50, Image.SCALE_DEFAULT))); + } JComponent createContentComponent() { JPanel tabContentPanel = new JPanel(new BorderLayout()); diff --git a/ganttproject/src/net/sourceforge/ganttproject/GanttProject.java b/ganttproject/src/net/sourceforge/ganttproject/GanttProject.java index 12dcd57225..195573a7ba 100644 --- a/ganttproject/src/net/sourceforge/ganttproject/GanttProject.java +++ b/ganttproject/src/net/sourceforge/ganttproject/GanttProject.java @@ -191,6 +191,10 @@ public class GanttProject extends GanttProjectBase implements ResourceView, Gant private FXSearchUi mySearchUi; + public GanttChartTabContentPanel getGanttChartTabContent() { + return myGanttChartTabContent; + } + public GanttProject(boolean isOnlyViewer) { System.err.println("Creating main frame..."); ToolTipManager.sharedInstance().setInitialDelay(200); diff --git a/ganttproject/src/net/sourceforge/ganttproject/GanttTree2.java b/ganttproject/src/net/sourceforge/ganttproject/GanttTree2.java index 0b2ccad840..857cefd2aa 100644 --- a/ganttproject/src/net/sourceforge/ganttproject/GanttTree2.java +++ b/ganttproject/src/net/sourceforge/ganttproject/GanttTree2.java @@ -174,6 +174,9 @@ public void selectionChanged(List currentSelection) { myIndentAction, myUnindentAction, newAction, myProject.getCutAction(), myProject.getCopyAction(), myProject.getPasteAction(), propertiesAction, deleteAction); } + public GanttProject getMyProject() { + return myProject; + } @Override protected void init() { diff --git a/ganttproject/src/net/sourceforge/ganttproject/UIFacadeImpl.java b/ganttproject/src/net/sourceforge/ganttproject/UIFacadeImpl.java index 2cb3453ec8..9568fb26f9 100644 --- a/ganttproject/src/net/sourceforge/ganttproject/UIFacadeImpl.java +++ b/ganttproject/src/net/sourceforge/ganttproject/UIFacadeImpl.java @@ -45,18 +45,7 @@ of the License, or (at your option) any later version. import net.sourceforge.ganttproject.chart.GanttChart; import net.sourceforge.ganttproject.chart.TimelineChart; import net.sourceforge.ganttproject.document.Document.DocumentException; -import net.sourceforge.ganttproject.gui.GanttLookAndFeelInfo; -import net.sourceforge.ganttproject.gui.GanttLookAndFeels; -import net.sourceforge.ganttproject.gui.GanttStatusBar; -import net.sourceforge.ganttproject.gui.NotificationChannel; -import net.sourceforge.ganttproject.gui.NotificationItem; -import net.sourceforge.ganttproject.gui.NotificationManager; -import net.sourceforge.ganttproject.gui.NotificationManagerImpl; -import net.sourceforge.ganttproject.gui.ResourceTreeUIFacade; -import net.sourceforge.ganttproject.gui.TaskSelectionContext; -import net.sourceforge.ganttproject.gui.TaskTreeUIFacade; -import net.sourceforge.ganttproject.gui.UIFacade; -import net.sourceforge.ganttproject.gui.ViewLogDialog; +import net.sourceforge.ganttproject.gui.*; import net.sourceforge.ganttproject.gui.options.OptionsPageBuilder; import net.sourceforge.ganttproject.gui.options.OptionsPageBuilder.I18N; import net.sourceforge.ganttproject.gui.options.SettingsDialog2; @@ -247,6 +236,23 @@ public void changeValue(ChangeValueEvent event) { myOptions.setTitled(false); myLogoOption = new DefaultFileOption("ui.logo"); + myLogoOption.addChangeValueListener(new ChangeValueListener(){ + @Override + public void changeValue(ChangeValueEvent event) { + + if (event.getOldValue()!=null && event.getOldValue().equals(event.getNewValue())){ + Image newLogo =getLogo(); + + + ((GanttTree2)myFallbackDelegate.getTaskTree()). + getMyProject() + .getGanttChartTabContent(). + replaceImagePanel(newLogo); + } + + } + }); + myLogoOptions = new GPOptionGroup("ui2", myLogoOption); myLogoOptions.setTitled(false); addOptions(myOptions);