From 462d465f3a28174bfe970a803fd5de33ee323b10 Mon Sep 17 00:00:00 2001 From: Alexander Shaduri Date: Mon, 11 Feb 2013 11:09:00 +0000 Subject: [PATCH] Modified all glade files to use gtk 2.8 compatibility (not sure if it works). Removed "tooltip_text" properties from all glade files, "tooltip" should be enough. Set the "activates_default" property on all relevant entries in glade files; this will make the Enter key activate the default dialog action when these entries are focused. Added some clarifying text to Add Device dialog. Clarified the per-drive parameters section (what it does) in Preferences. Added a confirmation dialog in case the user doesn't set the Parameters field in one of the Per-Drive Parameters entries. Added a "Smartctl Options" section to README/Help. Clarified the difference between smartctl.exe and smartctl-nc.exe in a tooltip. Improved some other tooltips. --- gsmartcontrol/README.txt | 13 +- gsmartcontrol/TODO | 10 - gsmartcontrol/src/applib/storage_settings.h | 4 +- gsmartcontrol/src/gsc_add_device_window.cpp | 5 +- gsmartcontrol/src/gsc_preferences_window.cpp | 56 +-- gsmartcontrol/src/res/gsc_about_dialog.glade | 2 +- .../src/res/gsc_add_device_window.glade | 198 ++++++----- .../src/res/gsc_executor_log_window.glade | 10 +- gsmartcontrol/src/res/gsc_help_window.glade | 3 +- gsmartcontrol/src/res/gsc_info_window.glade | 322 ++++++++---------- gsmartcontrol/src/res/gsc_main_window.glade | 6 +- .../src/res/gsc_preferences_window.glade | 171 +++++----- gsmartcontrol/src/res/gsc_text_window.glade | 4 +- 13 files changed, 417 insertions(+), 387 deletions(-) diff --git a/gsmartcontrol/README.txt b/gsmartcontrol/README.txt index bde5b68..c51e383 100644 --- a/gsmartcontrol/README.txt +++ b/gsmartcontrol/README.txt @@ -131,7 +131,6 @@ Note: If using the official Windows package, the requirements are listed on GSmartControl's website. - The following operating systems are supported: * Linux - All the popular configurations should work. @@ -187,6 +186,18 @@ directly from the build directory. +Smartctl Options + +GSmartControl tries its best to guard the user from having to specify smartctl +options. However, this is not always possible due to drive firmware bugs, +unimplemented features, and so on. The smartctl manual page contains all the +information you may need when dealing with smartctl. +See http://smartmontools.sourceforge.net/man/smartctl.8.html + +Additional information is available at http://smartmontools.sourceforge.net + + + Command Line Options GSmartControl inherits options from GTK+ and other libraries, so be sure to diff --git a/gsmartcontrol/TODO b/gsmartcontrol/TODO index 3749939..a866856 100644 --- a/gsmartcontrol/TODO +++ b/gsmartcontrol/TODO @@ -28,20 +28,10 @@ Bugs / patches: TODO: -BUG: The per-drive parameters in Preferences become empty after dialog re-open if "Parameters" field is empty. - -Clarify the per-drive parameters section (what it does) in Preferences. - -Add a win32-only tooltip for smartctl binary location clarifying the smartctl-nc.exe and smartctl.exe difference. - Increase "executing command" dialog timeout. Perhaps make it somehow not steal the focus (some window hint?) -Explain better Device name and Device type fields in the Add Device dialog. -The Enter key doesn't invoke the default dialog button (OK). - -Print the scanned files and searched registry keys into libdebug dump during detection. Areca detection Linux: diff --git a/gsmartcontrol/src/applib/storage_settings.h b/gsmartcontrol/src/applib/storage_settings.h index 10888c8..334b8ec 100644 --- a/gsmartcontrol/src/applib/storage_settings.h +++ b/gsmartcontrol/src/applib/storage_settings.h @@ -51,7 +51,7 @@ inline device_option_map_t app_unserialize_device_option_map(const std::string& opt = hz::string_trim_copy(enc.decode(opt)); // ignore potentially harmful chars - if (!dev.empty() && !opt.empty() + if (!dev.empty() && !opt.empty() // this discards the entries with empty options && dev.find_first_of(";><|&") == std::string::npos && opt.find_first_of(";><|&") == std::string::npos) { option_map[dev] = opt; @@ -71,7 +71,7 @@ inline std::string app_serialize_device_option_map(const device_option_map_t& op std::vector pairs; for (device_option_map_t::const_iterator iter = option_map.begin(); iter != option_map.end(); ++iter) { - if (!iter->first.empty()) + if (!iter->first.empty() && !iter->second.empty()) // discard the ones with empty device name or options pairs.push_back(enc.encode(iter->first) + ":" + enc.encode(iter->second)); } diff --git a/gsmartcontrol/src/gsc_add_device_window.cpp b/gsmartcontrol/src/gsc_add_device_window.cpp index 2f32e57..9d43f3f 100644 --- a/gsmartcontrol/src/gsc_add_device_window.cpp +++ b/gsmartcontrol/src/gsc_add_device_window.cpp @@ -62,8 +62,8 @@ GscAddDeviceWindow::GscAddDeviceWindow(BaseObjectType* gtkcobj, const app_ui_res Glib::ustring device_type_tooltip = "Smartctl -d option parameter"; -#if defined CONFIG_KERNEL_LINUX - device_type_tooltip = "Smartctl -d option parameter. For example, use 3ware,1 for a second drive behind a 3ware RAID controller."; +#if defined CONFIG_KERNEL_LINUX || defined CONFIG_KERNEL_FAMILY_WINDOWS + device_type_tooltip = "Smartctl -d option parameter. For example, use areca,1 for the first drive behind Areca RAID controller."; #endif if (Gtk::Label* device_type_label = lookup_widget("device_type_label")) { app_gtkmm_set_widget_tooltip(*device_type_label, device_type_tooltip); @@ -113,6 +113,7 @@ GscAddDeviceWindow::GscAddDeviceWindow(BaseObjectType* gtkcobj, const app_ui_res (*(model->append()))[col_type] = "marvell"; (*(model->append()))[col_type] = "megaraid,N"; (*(model->append()))[col_type] = "areca,N"; + (*(model->append()))[col_type] = "areca,N/E"; #endif #if defined CONFIG_KERNEL_LINUX || defined CONFIG_KERNEL_FREEBSD || defined CONFIG_KERNEL_DRAGONFLY (*(model->append()))[col_type] = "3ware,N"; // this option is not needed in windows diff --git a/gsmartcontrol/src/gsc_preferences_window.cpp b/gsmartcontrol/src/gsc_preferences_window.cpp index 801615d..7c03aaa 100644 --- a/gsmartcontrol/src/gsc_preferences_window.cpp +++ b/gsmartcontrol/src/gsc_preferences_window.cpp @@ -177,9 +177,9 @@ class GscPreferencesDeviceOptionsTreeView : public Gtk::TreeView { Gtk::TreeModel::Row row = *iter; std::string dev = row.get_value(col_device_real); if (!dev.empty()) { - std::string par = row.get_value(col_type_real); - if (!par.empty()) { - dev += "::" + par; + std::string type = row.get_value(col_type_real); + if (!type.empty()) { + dev += "::" + type; } if (devmap.find(dev) == devmap.end()) { devmap[dev] = row.get_value(col_parameters); @@ -248,6 +248,17 @@ GscPreferencesWindow::GscPreferencesWindow(BaseObjectType* gtkcobj, const app_ui APP_UI_RES_AUTO_CONNECT(window_reset_all_button, clicked); + Glib::ustring smartctl_binary_tooltip = "A path to smartctl binary. If the path is not absolute, the binary will be looked for in user's PATH."; +#if defined CONFIG_KERNEL_FAMILY_WINDOWS + smartctl_binary_tooltip += "\n" + "Note: smartctl.exe shows a console during execution, while smartctl-nc.exe (default) doesn't (nc means no-console)."; +#endif + if (Gtk::Label* smartctl_binary_label = lookup_widget("smartctl_binary_label")) { + app_gtkmm_set_widget_tooltip(*smartctl_binary_label, smartctl_binary_tooltip); + } + if (Gtk::Entry* smartctl_binary_entry = lookup_widget("smartctl_binary_entry")) { + app_gtkmm_set_widget_tooltip(*smartctl_binary_entry, smartctl_binary_tooltip); + } + Gtk::Button* smartctl_binary_browse_button = 0; APP_UI_RES_AUTO_CONNECT(smartctl_binary_browse_button, clicked); @@ -262,11 +273,11 @@ GscPreferencesWindow::GscPreferencesWindow(BaseObjectType* gtkcobj, const app_ui Gtk::Entry* device_options_device_entry = 0; APP_UI_RES_AUTO_CONNECT(device_options_device_entry, changed); - Glib::ustring device_options_tooltip = "Device name"; + Glib::ustring device_options_tooltip = "A device name to match"; #if defined CONFIG_KERNEL_FAMILY_WINDOWS - device_options_tooltip = "Device name (for example, use \"pd0\" for the first physical drive)"; + device_options_tooltip = "A device name to match (for example, use \"pd0\" for the first physical drive)"; #elif defined CONFIG_KERNEL_LINUX - device_options_tooltip = "Device name (for example, /dev/sda or /dev/twa0)"; + device_options_tooltip = "A device name to match (for example, /dev/sda or /dev/twa0)"; #endif if (Gtk::Label* device_options_device_label = lookup_widget("device_options_device_label")) { app_gtkmm_set_widget_tooltip(*device_options_device_label, device_options_tooltip); @@ -279,18 +290,6 @@ GscPreferencesWindow::GscPreferencesWindow(BaseObjectType* gtkcobj, const app_ui Gtk::Entry* device_options_type_entry = 0; APP_UI_RES_AUTO_CONNECT(device_options_type_entry, changed); - Glib::ustring device_type_tooltip = "Match only this type of device (as specified to -d smartctl parameter)"; -#if defined CONFIG_KERNEL_LINUX - device_type_tooltip = "Match only this type of device (as specified to -d smartctl parameter). Leave empty for all types. This can be used to specify a drive behind a RAID device, e.g. \"3ware,2\"."; -#endif - if (Gtk::Label* device_options_type_label = lookup_widget("device_options_type_label")) { - app_gtkmm_set_widget_tooltip(*device_options_type_label, device_type_tooltip); - } - if (device_options_type_entry) { - app_gtkmm_set_widget_tooltip(*device_options_type_entry, device_type_tooltip); - } - - Gtk::Entry* device_options_parameter_entry = 0; APP_UI_RES_AUTO_CONNECT(device_options_parameter_entry, changed); @@ -496,7 +495,6 @@ void GscPreferencesWindow::export_config() device_option_map_t devmap = device_options_treeview->get_device_map(); std::string devmap_str = app_serialize_device_option_map(devmap); prefs_config_set("system/smartctl_device_options", devmap_str); - } @@ -518,6 +516,26 @@ void GscPreferencesWindow::on_window_cancel_button_clicked() void GscPreferencesWindow::on_window_ok_button_clicked() { + // Check if device map contains drives with empty device names or parameters. + device_option_map_t devmap = device_options_treeview->get_device_map(); + bool contains_empty = false; + for (device_option_map_t::const_iterator iter = devmap.begin(); iter != devmap.end(); ++iter) { + if (iter->first.empty() || iter->second.empty()) { + contains_empty = true; + } + } + + if (contains_empty) { + Gtk::MessageDialog dialog(*this, + "You have specified an empty Parameters field for one or more entries" + " in Per-Drive Smartctl Parameters section. Such entries will be discarded.\n" + "\nDo you want to continue?", + true, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO, true); + if (dialog.run() != Gtk::RESPONSE_YES) { + return; + } + } + export_config(); destroy(this); } diff --git a/gsmartcontrol/src/res/gsc_about_dialog.glade b/gsmartcontrol/src/res/gsc_about_dialog.glade index fda716b..bf70f69 100644 --- a/gsmartcontrol/src/res/gsc_about_dialog.glade +++ b/gsmartcontrol/src/res/gsc_about_dialog.glade @@ -1,6 +1,6 @@ - + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 6 diff --git a/gsmartcontrol/src/res/gsc_add_device_window.glade b/gsmartcontrol/src/res/gsc_add_device_window.glade index 7489b8f..566c856 100644 --- a/gsmartcontrol/src/res/gsc_add_device_window.glade +++ b/gsmartcontrol/src/res/gsc_add_device_window.glade @@ -1,6 +1,6 @@ - + Add Device - GSmartControl True @@ -12,113 +12,149 @@ 12 GTK_ORIENTATION_VERTICAL - + True - 3 - 2 - 12 - 6 + GTK_ORIENTATION_VERTICAL + GTK_ORIENTATION_VERTICAL - - True - - - True - True - ● - - - - - 1 - 2 - 1 - 2 - - - - + True 0 - Device _name: - True + The Smartctl Options section in the All Help Topics +menu contains information on what you can enter here. - GTK_FILL + 6 - + True - 6 + 3 + 2 + 12 + 6 - + True True - True + Additional smartctl parameters ● - - - - - True - True - True - _Browse... - True - 0 + True - False - 1 + 1 + 2 + 2 + 3 + + + + + True + Additional smartctl parameters + 0 + Smartctl parameters: + + + 2 + 3 + GTK_FILL + + + + + True + 0 + Device _type: + True + + + 1 + 2 + GTK_FILL + + + + + True + 6 + + + True + True + True + ● + True + + + + + True + True + True + _Browse... + True + 0 + + + False + 1 + + + + + 1 + 2 + + + + + True + + + True + True + ● + True + + + + + 1 + 2 + 1 + 2 + + + + + True + 0 + Device _name: + True + + + GTK_FILL - 1 - 2 + False + 6 + 1 - + True 0 - Device _type: - True + Note: To permanently add a device, you'll have to use +the gsmartcontrol --add-device command line option. - 1 - 2 - GTK_FILL - - - - - True - Additional smartctl parameters - Additional smartctl parameters - 0 - Smartctl parameters: - - - 2 - 3 - GTK_FILL - - - - - True - True - Additional smartctl parameters - Additional smartctl parameters - ● - - - 1 - 2 - 2 - 3 + 6 + 2 diff --git a/gsmartcontrol/src/res/gsc_executor_log_window.glade b/gsmartcontrol/src/res/gsc_executor_log_window.glade index 40f743b..2066b14 100644 --- a/gsmartcontrol/src/res/gsc_executor_log_window.glade +++ b/gsmartcontrol/src/res/gsc_executor_log_window.glade @@ -1,6 +1,6 @@ - + Execution Log - GSmartControl 620 @@ -31,7 +31,6 @@ True True - Commands executed Commands executed True @@ -52,7 +51,6 @@ True True True - Clear command list Clear command list gtk-clear True @@ -100,9 +98,9 @@ True True - Command with parameters Command with parameters False + True True @@ -137,7 +135,6 @@ True True - Complete output of the command Complete output of the command False 5 @@ -169,7 +166,6 @@ True True True - Save currently shown output Save currently shown output _Save Current True @@ -181,7 +177,6 @@ True True True - Save complete log of command execution (useful when reporting bugs) Save complete log of command execution (useful when reporting bugs) Save _All True @@ -204,7 +199,6 @@ True True True - Close this window Close this window gtk-close True diff --git a/gsmartcontrol/src/res/gsc_help_window.glade b/gsmartcontrol/src/res/gsc_help_window.glade index 9f4c006..dbc5a29 100644 --- a/gsmartcontrol/src/res/gsc_help_window.glade +++ b/gsmartcontrol/src/res/gsc_help_window.glade @@ -1,6 +1,6 @@ - + Help - GSmartControl 630 @@ -40,7 +40,6 @@ True True - Topics Topics False diff --git a/gsmartcontrol/src/res/gsc_info_window.glade b/gsmartcontrol/src/res/gsc_info_window.glade index 1f2ab6d..280297c 100644 --- a/gsmartcontrol/src/res/gsc_info_window.glade +++ b/gsmartcontrol/src/res/gsc_info_window.glade @@ -1,6 +1,6 @@ - + Device Information - GSmartControl GTK_WIN_POS_CENTER_ON_PARENT @@ -108,7 +108,6 @@ True True True - Drive identity and general health information Drive identity and general health information _Identity True @@ -190,7 +189,6 @@ True True - SMART attributes SMART attributes Attri_butes True @@ -260,7 +258,6 @@ True True - Drive capabilities Drive capabilities Ca_pabilities True @@ -355,7 +352,6 @@ True True - Complete error log information Complete error log information False 5 @@ -385,7 +381,6 @@ True True - SMART error log contains (usually five) most recent non-trivial errors the hard drive has encountered SMART error log contains (usually five) most recent non-trivial errors the hard drive has encountered _Error Log True @@ -485,7 +480,6 @@ True True - Complete selective self-test log information Complete selective self-test log information False 5 @@ -527,8 +521,6 @@ True True - Self-test log contains information about (usually twenty) most recent manually performed SMART self-tests. -Selective self-test log is also presented here. Self-test log contains information about (usually twenty) most recent manually performed SMART self-tests. Selective self-test log is also presented here. _Self-test Logs @@ -569,162 +561,6 @@ Selective self-test log is also presented here. 2 6 6 - - - True - 6 - - - True - 6 - - - True - 0 - <b>Test type:</b> - True - - - False - - - - - True - Choose a test type - Choose a test type - These are dummy entries -Immediate Offline -Short -Extended -Conveyance - - - False - 1 - - - - - False - - - - - True - 6 - - - True - Estimated test duration on idle drive - Estimated test duration on idle drive - <b>Estimated duration:</b> - True - - - False - - - - - True - Minimum test duration on idle drive - Minimum test duration on idle drive - N/A - - - False - 1 - - - - - 10 - 1 - - - - - - - True - True - True - Perform selected test - Perform selected test - gtk-execute - True - 0 - - - 1 - 2 - GTK_FILL - - - - - 85 - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - - - True - True - Test description - Test description - False - GTK_WRAP_WORD - 5 - 5 - False - - - - - 2 - 1 - 2 - - - - - True - True - True - Abort the test - Abort the test - gtk-stop - True - 0 - - - 1 - 2 - 2 - 3 - GTK_FILL - 10 - - - - - True - Test progress - Test progress - True - Test completion: 90%; ETA: 12 minutes - PANGO_ELLIPSIZE_END - - - 2 - 3 - 10 - - 6 @@ -758,6 +594,155 @@ Conveyance 20 + + + True + Test progress + True + Test completion: 90%; ETA: 12 minutes + PANGO_ELLIPSIZE_END + + + 2 + 3 + 10 + + + + + True + True + True + Abort the test + gtk-stop + True + 0 + + + 1 + 2 + 2 + 3 + GTK_FILL + 10 + + + + + 85 + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + + + True + True + Test description + False + GTK_WRAP_WORD + 5 + 5 + False + + + + + 2 + 1 + 2 + + + + + True + True + True + Perform selected test + gtk-execute + True + 0 + + + 1 + 2 + GTK_FILL + + + + + True + 6 + + + True + 6 + + + True + 0 + <b>Test type:</b> + True + + + False + + + + + True + Choose a test type + These are dummy entries +Immediate Offline +Short +Extended +Conveyance + + + False + 1 + + + + + False + + + + + True + 6 + + + True + Estimated test duration on idle drive + <b>Estimated duration:</b> + True + + + False + + + + + True + Minimum test duration on idle drive + N/A + + + False + 1 + + + + + 10 + 1 + + + + 1 @@ -778,7 +763,6 @@ Conveyance True True - Perform self-tests on the hard drive Perform self-tests on the hard drive Perform _Tests True @@ -807,13 +791,12 @@ Conveyance True True True - Re-read all the information Re-read all the information gtk-refresh True 0 - + @@ -821,7 +804,6 @@ Conveyance True True True - View smartctl output View smartctl output _View Output True @@ -836,7 +818,6 @@ Conveyance True True True - Save the SMART information (smartctl output) to a text file Save the SMART information (smartctl output) to a text file gtk-save-as True @@ -860,7 +841,6 @@ Conveyance True True True - Close this window Close this window gtk-close True diff --git a/gsmartcontrol/src/res/gsc_main_window.glade b/gsmartcontrol/src/res/gsc_main_window.glade index 275dbef..b8ddf63 100644 --- a/gsmartcontrol/src/res/gsc_main_window.glade +++ b/gsmartcontrol/src/res/gsc_main_window.glade @@ -1,6 +1,6 @@ - + GSmartControl 460 @@ -31,7 +31,6 @@ True - Device, capacity, model (if available) Device, capacity, model (if available) 6 @@ -61,8 +60,6 @@ True - Basic health check status as reported by the drive. -View drive details for more information. Basic health check status as reported by the drive. View drive details for more information. 6 @@ -111,7 +108,6 @@ View drive details for more information. True - Model family (if available in smartctl database) Model family (if available in smartctl database) 6 diff --git a/gsmartcontrol/src/res/gsc_preferences_window.glade b/gsmartcontrol/src/res/gsc_preferences_window.glade index f244d94..5be1c2e 100644 --- a/gsmartcontrol/src/res/gsc_preferences_window.glade +++ b/gsmartcontrol/src/res/gsc_preferences_window.glade @@ -1,6 +1,6 @@ - + @@ -130,7 +130,6 @@ True True - If smartmontools is installed, use its smartctl by default If smartmontools is installed, use its smartctl by default Loo_k for smartctl in smartmontools installation directory first True @@ -145,47 +144,6 @@ 2 12 6 - - - True - A path to smartctl binary. If the path is not absolute, the binary will be looked for in user's PATH. - A path to smartctl binary. If the path is not absolute, the binary will be looked for in user's PATH. - 1 - S_martctl binary: - True - - - GTK_FILL - - - - - True - Global parameters for smartctl. These parameters will be used every time the progam invokes smartctl. Must be shell-escaped. - Global parameters for smartctl. These parameters will be used every time the progam invokes smartctl. Must be shell-escaped. - Smartctl parameters: - True - - - 1 - 2 - GTK_FILL - - - - - True - True - Global parameters for smartctl. These parameters will be used every time the progam invokes smartctl. Must be shell-escaped. - Global parameters for smartctl. These parameters will be used every time the progam invokes smartctl. Must be shell-escaped. - - - 1 - 2 - 1 - 2 - - True @@ -194,8 +152,7 @@ True True - A path to smartctl binary. If the path is not absolute, the binary will be looked for in user's PATH. - A path to smartctl binary. If the path is not absolute, the binary will be looked for in user's PATH. + True @@ -217,6 +174,44 @@ 2 + + + True + True + Global parameters for smartctl. These parameters will be used every time the progam invokes smartctl. Must be shell-escaped. + True + + + 1 + 2 + 1 + 2 + + + + + True + Global parameters for smartctl. These parameters will be used every time the progam invokes smartctl. Must be shell-escaped. + Smartctl parameters: + True + + + 1 + 2 + GTK_FILL + + + + + True + 1 + S_martctl binary: + True + + + GTK_FILL + + 1 @@ -285,8 +280,7 @@ True - Semicolon-separated blacklist PCRE patterns for device search. For example, to blacklist all "/dev/sd*" devices, use "sd.{1}$". Simply listing them as "sda;sdb" will also work. - Semicolon-separated blacklist PCRE patterns for device search. For example, to blacklist all "/dev/sd*" devices, use "sd.{1}$". Simply listing them as "sda;sdb" will also work. + Semicolon-separated blacklist PCRE (perl-like) patterns for device search. For example, to blacklist all "/dev/sd*" devices, use "sd.{1}$". Simply listing them as "sda;sdb" will also work. 0 Device blacklist patterns: True @@ -299,8 +293,8 @@ True True - Semicolon-separated blacklist PCRE patterns for device search. For example, to blacklist all "/dev/sd*" devices, use "sd.$". Simply listing them as "sda;sdb" or "sd[ab]" will also work. Semicolon-separated blacklist PCRE patterns for device search. For example, to blacklist all "/dev/sd*" devices, use "sd.$". Simply listing them as "sda;sdb" or "sd[ab]" will also work. + True 1 @@ -343,6 +337,22 @@ True + + + True + 12 + + + True + 0 + Adding a drive here will make it use the specified parameters. + + + + + 6 + + True @@ -362,7 +372,6 @@ True True - Device list Device list False @@ -379,7 +388,6 @@ True True True - Remove selected entry from device list Remove selected entry from device list gtk-remove True @@ -391,7 +399,6 @@ True True True - Add a new entry to device list Add a new entry to device list gtk-add True @@ -419,36 +426,40 @@ 12 6 - + True - 0 - <b>Drive Properties:</b> - True + True + Smartctl parameters to add (for example, "-T permissive" or "-d usbsunplus") + 1 2 + 3 + 4 - + True + Smartctl parameters to add (for example, "-T permissive" or "-d usbsunplus") 1 - De_vice: + _Parameters: True - 1 - 2 + 3 + 4 - + True - 1 - _Type: - True + True + Match only this type of device (as used by the -d smartctl parameter). Leave empty for all types. This can be used to match a drive behind a RAID device, e.g. "areca,2". + 1 + 2 2 3 @@ -466,43 +477,39 @@ - + True - True + Match only this type of device (as used by the -d smartctl parameter). Leave empty for all types. This can be used to match a drive behind a RAID device, e.g. "areca,2". + 1 + _Type: + True - 1 - 2 2 3 - + True - Smartctl parameters (for example, "-T permissive" or "-d usbsunplus") - Smartctl parameters (for example, "-T permissive" or "-d usbsunplus") 1 - _Parameters: + De_vice: True - 3 - 4 + 1 + 2 - + True - True - Smartctl parameters (for example, "-T permissive" or "-d usbsunplus") - Smartctl parameters (for example, "-T permissive" or "-d usbsunplus") + 0 + <b>Drive Properties:</b> + True - 1 2 - 3 - 4 @@ -517,7 +524,8 @@ - 10 + 6 + 1 @@ -572,7 +580,6 @@ True True True - Reset all program settings to their defaults Reset all program settings to their defaults Reset a_ll True diff --git a/gsmartcontrol/src/res/gsc_text_window.glade b/gsmartcontrol/src/res/gsc_text_window.glade index 2525034..195e8fa 100644 --- a/gsmartcontrol/src/res/gsc_text_window.glade +++ b/gsmartcontrol/src/res/gsc_text_window.glade @@ -1,6 +1,6 @@ - + GSmartControl 600 @@ -47,7 +47,6 @@ True True True - Saved displayed text as... Saved displayed text as... gtk-save-as True @@ -78,7 +77,6 @@ True True True - Close this window Close this window gtk-close True