Minor UI fixes
Using platform-specific default look and feel on mac & linux instead of metal
Defaulting Chainsaw screen size to maximized by default
git-svn-id: https://svn.apache.org/repos/asf/logging/chainsaw/trunk@1034942 13f79535-47bb-0310-9956-ffa450edef68
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 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 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();
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