diff --git a/gsmartcontrol/TODO b/gsmartcontrol/TODO index fcfdd06..da93e67 100644 --- a/gsmartcontrol/TODO +++ b/gsmartcontrol/TODO @@ -42,6 +42,7 @@ Add debian/ubuntu's su-to-root support to gsmartcontrol-root. Set tooltips wherever we have "No description available". + Testing: If ETA time has elapsed, but it's still only at 10% completion, ETA 0 is displayed. Fix. @@ -62,15 +63,6 @@ Add support for launching with consolehelper (from usermode package). If the detection executes "smartctl -i", don't execute it again afterwards. -New smartctl prints World Wide Name (WWN) of ATA device, use it -Sector size - - -When adding device via GUI, have an option to specify "-d" type and other parameters. - Maybe make "-d" a dropdown? - Just list common types (sat,12; sat,16; scsi, ...?) - - Rework drive properties UI: use 48-bit or not or auto. Enable/disable/dont_touch SMART on startup for this drive. diff --git a/gsmartcontrol/src/applib/smartctl_parser.cpp b/gsmartcontrol/src/applib/smartctl_parser.cpp index 036b1b8..c25f232 100644 --- a/gsmartcontrol/src/applib/smartctl_parser.cpp +++ b/gsmartcontrol/src/applib/smartctl_parser.cpp @@ -159,7 +159,7 @@ bool SmartctlParser::parse_full(const std::string& full) } else { { StorageProperty p; - p.set_name("Smartctl version", "smartctl_version"); + p.set_name("Smartctl version", "smartctl_version", "Smartctl Version"); p.reported_value = version; p.value_type = StorageProperty::value_type_string; p.value_string = p.reported_value; @@ -168,7 +168,7 @@ bool SmartctlParser::parse_full(const std::string& full) } { StorageProperty p; - p.set_name("Smartctl version", "smartctl_version_full"); + p.set_name("Smartctl version", "smartctl_version_full", "Smartctl Version"); p.reported_value = version_full; p.value_type = StorageProperty::value_type_string; p.value_string = p.reported_value; @@ -405,10 +405,17 @@ bool SmartctlParser::parse_section_info_property(StorageProperty& p) || app_pcre_match("/Device Model/mi", p.reported_name) || app_pcre_match("/Serial Number/mi", p.reported_name) || app_pcre_match("/Firmware Version/mi", p.reported_name) + || app_pcre_match("/Sector Sizes/mi", p.reported_name) // prints 2 values (phys/logical, if they're different) + || app_pcre_match("/Sector Size/mi", p.reported_name) // prints a single value (if it's not 512) ) { p.value_type = StorageProperty::value_type_string; p.value_string = p.reported_value; + } else if (app_pcre_match("/LU WWN Device Id/mi", p.reported_name)) { + p.set_name(p.reported_name, "wwn_id", "World Wide Name"); + p.value_type = StorageProperty::value_type_string; + p.value_string = p.reported_value; + } else if (app_pcre_match("/ATA Standard is/mi", p.reported_name)) { p.set_name(p.reported_name, "ata_standard", "ATA Standard"); p.value_type = StorageProperty::value_type_string;