diff --git a/ui/main_window.slint b/ui/main_window.slint index c30d6be..8bd2718 100644 --- a/ui/main_window.slint +++ b/ui/main_window.slint @@ -1,12 +1,14 @@ // RAIDGuard X - Complete GUI Recreation // Mimics Java Swing frmMain.java appearance +// Based on Java frmMain.java structure (765x700, toolbar 750x65) export component AppWindow inherits Window { title: "RAIDGuard X - DTR RAID Admin"; - width: 1280px; - height: 800px; - background: #f0f0f0; + width: 800px; + height: 700px; + background: #ece9d8; + // Callbacks callback connect_server(); callback refresh_data(); callback menu_about(); @@ -94,210 +96,286 @@ export component AppWindow inherits Window { in-out property evmsg5: "Power supply online"; in-out property evsource5: "Power"; + // Main layout VerticalLayout { spacing: 0; - // Menu Bar + // Menu Bar - matches Java Swing menu Rectangle { - height: 24px; - background: #f0f0f0; + height: 21px; + background: #ece9d8; HorizontalLayout { - - spacing: 16px; - Text { text: "File"; font-weight: 500; color: #000000; font_size: 13px; } - Text { text: "Controller"; font-weight: 500; color: #000000; font_size: 13px; } - Text { text: "Tools"; font-weight: 500; color: #000000; font_size: 13px; } - Text { text: "Help"; font-weight: 500; color: #000000; font_size: 13px; } + spacing: 0; + Text { + text: "File"; + font_size: 12px; + color: #000000; + } + Text { width: 12px; } + Text { + text: "Controller"; + font_size: 12px; + color: #000000; + } + Text { width: 12px; } + Text { + text: "Tools"; + font_size: 12px; + color: #000000; + } + Text { width: 12px; } + Text { + text: "Help"; + font_size: 12px; + color: #000000; + } } } - // Toolbar + // Toolbar - matches Java JToolBar (750x65) Rectangle { - height: 40px; - background: #e8e8e8; + height: 65px; + background: #ece9d8; HorizontalLayout { + spacing: 2px; - spacing: 8px; - - // Add button with icon + // Add button - matches jbtAddSystem Rectangle { - width: 32px; - height: 32px; - Image { - source: @image-url("../icons/func-additem.png"); - width: 24px; - height: 24px; + width: 70px; + height: 50px; + VerticalLayout { + spacing: 0; + Image { + source: @image-url("../icons/func-additem.png"); + width: 32px; + height: 32px; + } + Text { text: "Add"; font_size: 11px; font_weight: 700; color: #000000; } } } - // Remove button with icon + // Remove button Rectangle { - width: 32px; - height: 32px; - Image { - source: @image-url("../icons/func-deleteitem.png"); - width: 24px; - height: 24px; + width: 70px; + height: 50px; + VerticalLayout { + spacing: 0; + Image { + source: @image-url("../icons/func-deleteitem.png"); + width: 32px; + height: 32px; + } + Text { text: "Remove"; font_size: 11px; font_weight: 700; color: #000000; } } } - Rectangle { width: 10px; } + Rectangle { width: 8px; } - // Create button with icon + // Create button - matches jbtCreateArray Rectangle { - width: 90px; - height: 32px; - background: #4a90d9; - border-radius: 3px; - HorizontalLayout { - padding: 4px; + width: 70px; + height: 50px; + VerticalLayout { + spacing: 0; Image { source: @image-url("../icons/func-createarray.png"); - width: 20px; - height: 20px; + width: 32px; + height: 32px; } - Text { text: "Create"; font_size: 12px; color: white; vertical-alignment: center; } + Text { text: "Create"; font_size: 11px; font_weight: 700; color: #000000; } } } - // Delete button with icon + // Delete button - matches jbtDeleteArray Rectangle { - width: 80px; - height: 32px; - background: #d94a4a; - border-radius: 3px; - HorizontalLayout { - padding: 4px; + width: 70px; + height: 50px; + VerticalLayout { + spacing: 0; Image { source: @image-url("../icons/func-deletearray.png"); - width: 20px; - height: 20px; + width: 32px; + height: 32px; } - Text { text: "Delete"; font_size: 12px; color: white; vertical-alignment: center; } + Text { text: "Delete"; font_size: 11px; font_weight: 700; color: #000000; } } } - Rectangle { width: 10px; } + Rectangle { width: 8px; } - // Email button with icon + // Email button - matches jbtEmail Rectangle { - width: 80px; - height: 32px; - background: #ffffff; - border-radius: 3px; - HorizontalLayout { - padding: 4px; + width: 70px; + height: 50px; + VerticalLayout { + spacing: 0; Image { source: @image-url("../icons/func-email.png"); - width: 20px; - height: 20px; + width: 32px; + height: 32px; } - Text { text: "Email"; font_size: 12px; color: #000000; vertical-alignment: center; } + Text { text: "Email"; font_size: 11px; font_weight: 700; color: #000000; } } } - // Settings button with icon + // Settings button - matches jbtSettings Rectangle { - width: 80px; - height: 32px; - background: #ffffff; - border-radius: 3px; - HorizontalLayout { - padding: 4px; + width: 70px; + height: 50px; + VerticalLayout { + spacing: 0; Image { source: @image-url("../icons/func-settings.png"); - width: 20px; - height: 20px; + width: 32px; + height: 32px; } - Text { text: "Settings"; font_size: 12px; color: #000000; vertical-alignment: center; } + Text { text: "Settings"; font_size: 11px; font_weight: 700; color: #000000; } } } + + Rectangle { width: 1px; } } } - // Main Content + // Separator line + Rectangle { + height: 1px; + background: #a0a0a0; + } + + // Main Content Area HorizontalLayout { spacing: 0; height: 1px; - // Left Panel - Host List + // Left Panel - Host List (matches jpHostList ~220px) Rectangle { - width: 280px; + width: 220px; background: #ffffff; VerticalLayout { padding: 0; spacing: 0; + + // Header - matches jlHostList Rectangle { - height: 30px; - background: #d0d0d0; - Text { text: "Host List"; font-weight: 600; font_size: 13px; color: #000000; vertical-alignment: center; } - } - Rectangle { - height: 24px; - background: #e0e0e0; - HorizontalLayout { - - spacing: 4px; - Text { text: "Host"; font_size: 11px; font-weight: 600; width: 70px; } - Text { text: "IP"; font_size: 11px; font-weight: 600; width: 90px; } - Text { text: "Status"; font_size: 11px; font-weight: 600; width: 60px; } + height: 22px; + background: #d4d0c8; + Text { + text: "Host List"; + font_size: 12px; + font_weight: 700; + color: #000000; + vertical-alignment: center; } } + + // Table Header - matches jtHostList header Rectangle { - height: 28px; - background: #c0c0c0; + height: 20px; + background: #d4d0c8; HorizontalLayout { - - spacing: 4px; - Text { text: ctrl1_name; font_size: 11px; width: 70px; } - Text { text: ctrl1_ip; font_size: 11px; width: 90px; } - Text { text: ctrl1_status; font_size: 11px; color: #008000; width: 60px; } + spacing: 2px; + Text { text: "Host"; font_size: 11px; font_weight: 700; width: 65px; } + Text { text: "IP"; font_size: 11px; font_weight: 700; width: 75px; } + Text { text: "Status"; font_size: 11px; font_weight: 700; width: 50px; } } } + + // Controller Row 1 - matches jtHostList row Rectangle { - height: 28px; + height: 20px; + background: #d4d0c8; + HorizontalLayout { + spacing: 2px; + Text { text: ctrl1_name; font_size: 11px; width: 65px; } + Text { text: ctrl1_ip; font_size: 11px; width: 75px; } + Text { text: ctrl1_status; font_size: 11px; color: #008000; width: 50px; } + } + } + + // Controller Row 2 + Rectangle { + height: 20px; background: #ffffff; HorizontalLayout { - - spacing: 4px; - Text { text: ctrl2_name; font_size: 11px; width: 70px; } - Text { text: ctrl2_ip; font_size: 11px; width: 90px; } - Text { text: ctrl2_status; font_size: 11px; width: 60px; } + spacing: 2px; + Text { text: ctrl2_name; font_size: 11px; width: 65px; } + Text { text: ctrl2_ip; font_size: 11px; width: 75px; } + Text { text: ctrl2_status; font_size: 11px; width: 50px; } } } + Rectangle { } } } + // Vertical separator + Rectangle { + width: 1px; + background: #a0a0a0; + } + // Right Panel - Tabs VerticalLayout { spacing: 0; - // Tab Header + // Tab Header - matches JTabbedPane Rectangle { - height: 36px; - background: #d0d0d0; + height: 24px; + background: #d4d0c8; HorizontalLayout { spacing: 0; - Rectangle { - width: 120px; - background: current_tab == 0 ? #ffffff : #d0d0d0; - Text { text: "Controller"; font_size: 13px; font-weight: current_tab == 0 ? 600 : 400; horizontal-alignment: center; vertical-alignment: center; } - } + + // Controller Tab Rectangle { width: 100px; - background: current_tab == 1 ? #ffffff : #d0d0d0; - Text { text: "RAID"; font_size: 13px; font-weight: current_tab == 1 ? 600 : 400; horizontal-alignment: center; vertical-alignment: center; } + background: current_tab == 0 ? #ffffff : #d4d0c8; + Text { + text: "Controller"; + font_size: 12px; + font_weight: current_tab == 0 ? 700 : 400; + horizontal-alignment: center; + vertical-alignment: center; + } } + + // RAID Tab Rectangle { - width: 100px; - background: current_tab == 2 ? #ffffff : #d0d0d0; - Text { text: "Drives"; font_size: 13px; font-weight: current_tab == 2 ? 600 : 400; horizontal-alignment: center; vertical-alignment: center; } + width: 80px; + background: current_tab == 1 ? #ffffff : #d4d0c8; + Text { + text: "RAID"; + font_size: 12px; + font_weight: current_tab == 1 ? 700 : 400; + horizontal-alignment: center; + vertical-alignment: center; + } } + + // Drives Tab Rectangle { - width: 100px; - background: current_tab == 3 ? #ffffff : #d0d0d0; - Text { text: "Event"; font_size: 13px; font-weight: current_tab == 3 ? 600 : 400; horizontal-alignment: center; vertical-alignment: center; } + width: 80px; + background: current_tab == 2 ? #ffffff : #d4d0c8; + Text { + text: "Drives"; + font_size: 12px; + font_weight: current_tab == 2 ? 700 : 400; + horizontal-alignment: center; + vertical-alignment: center; + } + } + + // Event Tab + Rectangle { + width: 80px; + background: current_tab == 3 ? #ffffff : #d4d0c8; + Text { + text: "Event"; + font_size: 12px; + font_weight: current_tab == 3 ? 700 : 400; + horizontal-alignment: center; + vertical-alignment: center; + } } } } @@ -307,33 +385,34 @@ export component AppWindow inherits Window { background: #ffffff; height: 1px; - // Controller Tab + // Controller Tab - matches jpController layout if current_tab == 0: VerticalLayout { + padding: 10px; + spacing: 8px; - spacing: 12px; Rectangle { - background: #f0f0f0; - + background: #ffffff; VerticalLayout { - spacing: 8px; - Text { text: "Controller Information"; font-weight: 600; font_size: 14px; } + spacing: 4px; + Text { text: "Controller Information"; font_size: 12px; font_weight: 700; } + Rectangle { height: 8px; } HorizontalLayout { - spacing: 12px; - VerticalLayout { spacing: 6px; - Text { text: "Controller Name:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } - Text { text: "Model Name:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } - Text { text: "Serial Number:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } - Text { text: "Firmware Version:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } - Text { text: "BIOS Version:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } - Text { text: "Status:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } + spacing: 20px; + VerticalLayout { spacing: 3px; + Text { text: "Controller Name:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; } + Text { text: "Model Name:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; } + Text { text: "Serial Number:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; } + Text { text: "Firmware Version:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; } + Text { text: "BIOS Version:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; } + Text { text: "Status:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; } } - VerticalLayout { spacing: 6px; - Text { text: ctrl1_name; font_size: 12px; } - Text { text: ctrl1_model; font_size: 12px; } - Text { text: ctrl1_sn; font_size: 12px; } - Text { text: ctrl1_firmware; font_size: 12px; } - Text { text: "1.2.3.4"; font_size: 12px; } - Text { text: ctrl1_status; font_size: 12px; color: #008000; } + VerticalLayout { spacing: 3px; + Text { text: ctrl1_name; font_size: 11px; } + Text { text: ctrl1_model; font_size: 11px; } + Text { text: ctrl1_sn; font_size: 11px; } + Text { text: ctrl1_firmware; font_size: 11px; } + Text { text: "1.2.3.4"; font_size: 11px; } + Text { text: ctrl1_status; font_size: 11px; color: #008000; } } } } @@ -342,52 +421,52 @@ export component AppWindow inherits Window { // RAID Tab if current_tab == 1: VerticalLayout { + padding: 10px; + spacing: 8px; - spacing: 12px; Rectangle { - background: #f0f0f0; - + background: #ffffff; VerticalLayout { - spacing: 8px; + spacing: 4px; HorizontalLayout { - Text { text: raid1_name; font-weight: 600; font_size: 14px; } - Text { text: raid1_status; font_size: 12px; color: #008000; } + Text { text: raid1_name; font_size: 12px; font_weight: 700; } + Text { text: raid1_status; font_size: 11px; color: #008000; } } HorizontalLayout { - spacing: 12px; - VerticalLayout { spacing: 6px; - Text { text: "RAID Level:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } - Text { text: "Capacity:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } - Text { text: "Usage:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } + spacing: 20px; + VerticalLayout { spacing: 3px; + Text { text: "RAID Level:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; } + Text { text: "Capacity:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; } + Text { text: "Usage:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; } } - VerticalLayout { spacing: 6px; - Text { text: raid1_level; font_size: 12px; } - Text { text: raid1_capacity; font_size: 12px; } - Text { text: raid1_usage; font_size: 12px; } + VerticalLayout { spacing: 3px; + Text { text: raid1_level; font_size: 11px; } + Text { text: raid1_capacity; font_size: 11px; } + Text { text: raid1_usage; font_size: 11px; } } } } } + Rectangle { - background: #f0f0f0; - + background: #ffffff; VerticalLayout { - spacing: 8px; + spacing: 4px; HorizontalLayout { - Text { text: raid2_name; font_weight: 600; font_size: 14px; } - Text { text: raid2_status; font_size: 12px; color: #008000; } + Text { text: raid2_name; font_size: 12px; font_weight: 700; } + Text { text: raid2_status; font_size: 11px; color: #008000; } } HorizontalLayout { - spacing: 12px; - VerticalLayout { spacing: 6px; - Text { text: "RAID Level:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } - Text { text: "Capacity:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } - Text { text: "Usage:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } + spacing: 20px; + VerticalLayout { spacing: 3px; + Text { text: "RAID Level:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; } + Text { text: "Capacity:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; } + Text { text: "Usage:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; } } - VerticalLayout { spacing: 6px; - Text { text: raid2_level; font_size: 12px; } - Text { text: raid2_capacity; font_size: 12px; } - Text { text: raid2_usage; font_size: 12px; } + VerticalLayout { spacing: 3px; + Text { text: raid2_level; font_size: 11px; } + Text { text: raid2_capacity; font_size: 11px; } + Text { text: raid2_usage; font_size: 11px; } } } } @@ -396,149 +475,149 @@ export component AppWindow inherits Window { // Drives Tab if current_tab == 2: VerticalLayout { + padding: 4px; + spacing: 2px; - spacing: 4px; Rectangle { - height: 28px; - background: #e0e0e0; + height: 20px; + background: #d4d0c8; HorizontalLayout { - - spacing: 16px; - Text { text: "Location"; font_size: 11px; font-weight: 600; width: 140px; } - Text { text: "Vendor"; font_size: 11px; font-weight: 600; width: 100px; } - Text { text: "Model"; font_size: 11px; font-weight: 600; width: 160px; } - Text { text: "Capacity"; font_size: 11px; font-weight: 600; width: 80px; } - Text { text: "Status"; font_size: 11px; font-weight: 600; width: 80px; } + spacing: 8px; + Text { text: "Location"; font_size: 11px; font_weight: 700; width: 120px; } + Text { text: "Vendor"; font_size: 11px; font_weight: 700; width: 80px; } + Text { text: "Model"; font_size: 11px; font_weight: 700; width: 140px; } + Text { text: "Capacity"; font_size: 11px; font_weight: 700; width: 70px; } + Text { text: "Status"; font_size: 11px; font_weight: 700; width: 60px; } } } + Rectangle { - height: 26px; - background: #f0f0f0; + height: 20px; + background: #d4d0c8; HorizontalLayout { - - spacing: 16px; - Text { text: disk1_loc; font_size: 11px; width: 140px; } - Text { text: disk1_vendor; font_size: 11px; width: 100px; } - Text { text: disk1_model; font_size: 11px; width: 160px; } - Text { text: disk1_capacity; font_size: 11px; width: 80px; } - Text { text: disk1_status; font_size: 11px; color: #008000; width: 80px; } + spacing: 8px; + Text { text: disk1_loc; font_size: 11px; width: 120px; } + Text { text: disk1_vendor; font_size: 11px; width: 80px; } + Text { text: disk1_model; font_size: 11px; width: 140px; } + Text { text: disk1_capacity; font_size: 11px; width: 70px; } + Text { text: disk1_status; font_size: 11px; color: #008000; width: 60px; } } } + Rectangle { - height: 26px; + height: 20px; background: #ffffff; HorizontalLayout { - - spacing: 16px; - Text { text: disk2_loc; font_size: 11px; width: 140px; } - Text { text: disk2_vendor; font_size: 11px; width: 100px; } - Text { text: disk2_model; font_size: 11px; width: 160px; } - Text { text: disk2_capacity; font_size: 11px; width: 80px; } - Text { text: disk2_status; font_size: 11px; color: #008000; width: 80px; } + spacing: 8px; + Text { text: disk2_loc; font_size: 11px; width: 120px; } + Text { text: disk2_vendor; font_size: 11px; width: 80px; } + Text { text: disk2_model; font_size: 11px; width: 140px; } + Text { text: disk2_capacity; font_size: 11px; width: 70px; } + Text { text: disk2_status; font_size: 11px; color: #008000; width: 60px; } } } + Rectangle { - height: 26px; - background: #f0f0f0; + height: 20px; + background: #d4d0c8; HorizontalLayout { - - spacing: 16px; - Text { text: disk3_loc; font_size: 11px; width: 140px; } - Text { text: disk3_vendor; font_size: 11px; width: 100px; } - Text { text: disk3_model; font_size: 11px; width: 160px; } - Text { text: disk3_capacity; font_size: 11px; width: 80px; } - Text { text: disk3_status; font_size: 11px; color: #008000; width: 80px; } + spacing: 8px; + Text { text: disk3_loc; font_size: 11px; width: 120px; } + Text { text: disk3_vendor; font_size: 11px; width: 80px; } + Text { text: disk3_model; font_size: 11px; width: 140px; } + Text { text: disk3_capacity; font_size: 11px; width: 70px; } + Text { text: disk3_status; font_size: 11px; color: #008000; width: 60px; } } } + Rectangle { - height: 26px; + height: 20px; background: #ffffff; HorizontalLayout { - - spacing: 16px; - Text { text: disk4_loc; font_size: 11px; width: 140px; } - Text { text: disk4_vendor; font_size: 11px; width: 100px; } - Text { text: disk4_model; font_size: 11px; width: 160px; } - Text { text: disk4_capacity; font_size: 11px; width: 80px; } - Text { text: disk4_status; font_size: 11px; color: #008000; width: 80px; } + spacing: 8px; + Text { text: disk4_loc; font_size: 11px; width: 120px; } + Text { text: disk4_vendor; font_size: 11px; width: 80px; } + Text { text: disk4_model; font_size: 11px; width: 140px; } + Text { text: disk4_capacity; font_size: 11px; width: 70px; } + Text { text: disk4_status; font_size: 11px; color: #008000; width: 60px; } } } } // Event Tab if current_tab == 3: VerticalLayout { + padding: 4px; + spacing: 2px; - spacing: 4px; Rectangle { - height: 28px; - background: #e0e0e0; + height: 20px; + background: #d4d0c8; HorizontalLayout { - spacing: 8px; - Text { text: "Date/Time"; font_size: 11px; font-weight: 600; width: 140px; } - Text { text: "Level"; font_size: 11px; font-weight: 600; width: 60px; } - Text { text: "Source"; font_size: 11px; font-weight: 600; width: 80px; } - Text { text: "Message"; font_size: 11px; font-weight: 600; width: 400px; } + Text { text: "Date/Time"; font_size: 11px; font_weight: 700; width: 130px; } + Text { text: "Level"; font_size: 11px; font_weight: 700; width: 50px; } + Text { text: "Source"; font_size: 11px; font_weight: 700; width: 60px; } + Text { text: "Message"; font_size: 11px; font_weight: 700; width: 300px; } } } + Rectangle { - height: 24px; - background: #f0f0f0; + height: 18px; + background: #d4d0c8; HorizontalLayout { - spacing: 8px; - Text { text: evtime1; font_size: 11px; width: 140px; } - Text { text: evlevel1; font_size: 11px; color: #008000; width: 60px; } - Text { text: evsource1; font_size: 11px; width: 80px; } - Text { text: evmsg1; font_size: 11px; width: 400px; } + Text { text: evtime1; font_size: 11px; width: 130px; } + Text { text: evlevel1; font_size: 11px; color: #008000; width: 50px; } + Text { text: evsource1; font_size: 11px; width: 60px; } + Text { text: evmsg1; font_size: 11px; width: 300px; } } } + Rectangle { - height: 24px; + height: 18px; background: #ffffff; HorizontalLayout { - spacing: 8px; - Text { text: evtime2; font_size: 11px; width: 140px; } - Text { text: evlevel2; font_size: 11px; color: #008000; width: 60px; } - Text { text: evsource2; font_size: 11px; width: 80px; } - Text { text: evmsg2; font_size: 11px; width: 400px; } + Text { text: evtime2; font_size: 11px; width: 130px; } + Text { text: evlevel2; font_size: 11px; color: #008000; width: 50px; } + Text { text: evsource2; font_size: 11px; width: 60px; } + Text { text: evmsg2; font_size: 11px; width: 300px; } } } + Rectangle { - height: 24px; - background: #f0f0f0; + height: 18px; + background: #d4d0c8; HorizontalLayout { - spacing: 8px; - Text { text: evtime3; font_size: 11px; width: 140px; } - Text { text: evlevel3; font_size: 11px; color: #ffa500; width: 60px; } - Text { text: evsource3; font_size: 11px; width: 80px; } - Text { text: evmsg3; font_size: 11px; width: 400px; } + Text { text: evtime3; font_size: 11px; width: 130px; } + Text { text: evlevel3; font_size: 11px; color: #ffa500; width: 50px; } + Text { text: evsource3; font_size: 11px; width: 60px; } + Text { text: evmsg3; font_size: 11px; width: 300px; } } } + Rectangle { - height: 24px; + height: 18px; background: #ffffff; HorizontalLayout { - spacing: 8px; - Text { text: evtime4; font_size: 11px; width: 140px; } - Text { text: evlevel4; font_size: 11px; color: #008000; width: 60px; } - Text { text: evsource4; font_size: 11px; width: 80px; } - Text { text: evmsg4; font_size: 11px; width: 400px; } + Text { text: evtime4; font_size: 11px; width: 130px; } + Text { text: evlevel4; font_size: 11px; color: #008000; width: 50px; } + Text { text: evsource4; font_size: 11px; width: 60px; } + Text { text: evmsg4; font_size: 11px; width: 300px; } } } + Rectangle { - height: 24px; - background: #f0f0f0; + height: 18px; + background: #d4d0c8; HorizontalLayout { - spacing: 8px; - Text { text: evtime5; font_size: 11px; width: 140px; } - Text { text: evlevel5; font_size: 11px; color: #008000; width: 60px; } - Text { text: evsource5; font_size: 11px; width: 80px; } - Text { text: evmsg5; font_size: 11px; width: 400px; } + Text { text: evtime5; font_size: 11px; width: 130px; } + Text { text: evlevel5; font_size: 11px; color: #008000; width: 50px; } + Text { text: evsource5; font_size: 11px; width: 60px; } + Text { text: evmsg5; font_size: 11px; width: 300px; } } } } @@ -546,19 +625,38 @@ export component AppWindow inherits Window { } } - // Status Bar + // Status Bar - matches Java status bar Rectangle { - height: 26px; - background: #d0d0d0; + height: 22px; + background: #d4d0c8; HorizontalLayout { - spacing: 16px; - Text { text: "Controllers: " + controller_count; font_size: 11px; color: #000000; } - Text { text: "RAID Arrays: " + raid_count; font_size: 11px; color: #000000; } - Text { text: "Drives: " + disk_count; font_size: 11px; color: #000000; } - Rectangle { width: 300px; } - Text { text: "Auto Refresh: " + (auto_refresh ? "On" : "Off"); font_size: 11px; color: #000000; } - Text { text: status_text; font_size: 11px; color: connected ? #008000 : #ff0000; } + Text { + text: "Controllers: " + controller_count; + font_size: 11px; + color: #000000; + } + Text { + text: "RAID Arrays: " + raid_count; + font_size: 11px; + color: #000000; + } + Text { + text: "Drives: " + disk_count; + font_size: 11px; + color: #000000; + } + Rectangle { width: 100px; } + Text { + text: "Auto Refresh: " + (auto_refresh ? "On" : "Off"); + font_size: 11px; + color: #000000; + } + Text { + text: status_text; + font_size: 11px; + color: connected ? #008000 : #ff0000; + } } } }