Minor UI fixes Using platform-specific default look and feel on mac & linux instead of metal Defaulting Chainsaw screen size to maximized by default
Project: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/commit/cbfde96a Tree: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/tree/cbfde96a Diff: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/diff/cbfde96a Branch: refs/heads/master Commit: cbfde96a9bcdf68498ceebc0f904616f78a6cc29 Parents: 8f17d6a Author: Scott Deboy <[email protected]> Authored: Sun Nov 14 06:31:46 2010 +0000 Committer: Scott Deboy <[email protected]> Committed: Sun Nov 14 06:31:46 2010 +0000 ---------------------------------------------------------------------- .../java/org/apache/log4j/chainsaw/LogUI.java | 26 +++++++++++++++++--- .../log4j/chainsaw/prefs/default.properties | 5 ++-- 2 files changed, 26 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/cbfde96a/src/main/java/org/apache/log4j/chainsaw/LogUI.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/log4j/chainsaw/LogUI.java b/src/main/java/org/apache/log4j/chainsaw/LogUI.java index ce6154a..6785335 100644 --- a/src/main/java/org/apache/log4j/chainsaw/LogUI.java +++ b/src/main/java/org/apache/log4j/chainsaw/LogUI.java @@ -290,6 +290,19 @@ public class LogUI extends JFrame implements ChainsawViewer, SettingsListener { public void run() { String lookAndFeelClassName = model.getLookAndFeelClassName(); + if (lookAndFeelClassName == null || lookAndFeelClassName.trim().equals("")) { + String osName = System.getProperty("os.name"); + if (osName.toLowerCase().startsWith("mac")) { + //no need to assign look and feel + } else if (osName.toLowerCase().startsWith("windows")) { + lookAndFeelClassName = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; + model.setLookAndFeelClassName(lookAndFeelClassName); + } else if (osName.toLowerCase().startsWith("linux")) { + lookAndFeelClassName = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"; + model.setLookAndFeelClassName(lookAndFeelClassName); + } + } + if (lookAndFeelClassName != null && !(lookAndFeelClassName.trim().equals(""))) { loadLookAndFeelUsingPluginClassLoader(lookAndFeelClassName); } @@ -709,9 +722,16 @@ public class LogUI extends JFrame implements ChainsawViewer, SettingsListener { public void loadSettings(LoadSettingsEvent event) { setLocation( event.asInt(LogUI.MAIN_WINDOW_X), event.asInt(LogUI.MAIN_WINDOW_Y)); - setSize( - event.asInt(LogUI.MAIN_WINDOW_WIDTH), - event.asInt(LogUI.MAIN_WINDOW_HEIGHT)); + int width = event.asInt(LogUI.MAIN_WINDOW_WIDTH); + int height = event.asInt(LogUI.MAIN_WINDOW_HEIGHT); + if (width == -1 && height == -1) { + width = Toolkit.getDefaultToolkit().getScreenSize().width; + height = Toolkit.getDefaultToolkit().getScreenSize().height; + setSize(width, height); + setExtendedState(getExtendedState() | MAXIMIZED_BOTH); + } else { + setSize(width, height); + } getToolBarAndMenus().stateChange(); RuleColorizer colorizer = new RuleColorizer(); http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/cbfde96a/src/main/resources/org/apache/log4j/chainsaw/prefs/default.properties ---------------------------------------------------------------------- diff --git a/src/main/resources/org/apache/log4j/chainsaw/prefs/default.properties b/src/main/resources/org/apache/log4j/chainsaw/prefs/default.properties index 291d78e..8035e50 100644 --- a/src/main/resources/org/apache/log4j/chainsaw/prefs/default.properties +++ b/src/main/resources/org/apache/log4j/chainsaw/prefs/default.properties @@ -21,8 +21,9 @@ # window when it is first realized on startup main.window.x=0 main.window.y=0 -main.window.width=1024 -main.window.height=768 +# default width and height to -1 will display the app at full screen resolution +main.window.width=-1 +main.window.height=-1 table.columns.order=ID,TIMESTAMP,MARKER,LEVEL,LOGGER,MESSAGE,THROWABLE,THREAD,NDC,CLASS,METHOD,FILE,LINE,MILLISDELTA table.columns.widths=50,80,95,50,100,500,100,100,100,100,100,100,100,100
