diff options
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -rw-r--r-- | src/backends/dialog.rs | 16 | ||||
| -rw-r--r-- | src/backends/kdialog.rs | 4 | ||||
| -rw-r--r-- | src/backends/stdio.rs | 4 | ||||
| -rw-r--r-- | src/backends/zenity.rs | 9 | 
5 files changed, 18 insertions, 16 deletions
| diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d6256c..939ae76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ SPDX-License-Identifier: CC0-1.0  # Unreleased  - Add the `KDialog` backend (contributed by Stephan Sokolow).  - Comply with version 3.0 of the REUSE specification. +- Implement `Default` for all backend structs.  # v0.2.1 (2019-06-30)  - Fix the input and password dialogs for the `zenity` backend (thanks Silvano diff --git a/src/backends/dialog.rs b/src/backends/dialog.rs index 85b0294..8061d98 100644 --- a/src/backends/dialog.rs +++ b/src/backends/dialog.rs @@ -19,11 +19,7 @@ pub struct Dialog {  impl Dialog {      /// Creates a new `Dialog` instance without configuration.      pub fn new() -> Dialog { -        Dialog { -            backtitle: None, -            height: "0".to_string(), -            width: "0".to_string(), -        } +        Default::default()      }      /// Sets the backtitle for the dialog boxes. @@ -87,6 +83,16 @@ impl AsRef<Dialog> for Dialog {      }  } +impl Default for Dialog { +    fn default() -> Self { +        Dialog { +            backtitle: None, +            height: "0".to_string(), +            width: "0".to_string(), +        } +    } +} +  fn require_success(status: process::ExitStatus) -> Result<()> {      if status.success() {          Ok(()) diff --git a/src/backends/kdialog.rs b/src/backends/kdialog.rs index 34070c4..c2ddcd0 100644 --- a/src/backends/kdialog.rs +++ b/src/backends/kdialog.rs @@ -20,7 +20,7 @@ const CANCEL: i32 = 1;  /// The `kdialog` backend.  ///  /// This backend uses the external `kdialog` program to display KDE dialog boxes. -#[derive(Debug)] +#[derive(Debug, Default)]  pub struct KDialog {      icon: Option<String>,      // TODO: --dontagain @@ -29,7 +29,7 @@ pub struct KDialog {  impl KDialog {      /// Creates a new `KDialog` instance without configuration.      pub fn new() -> KDialog { -        KDialog { icon: None } +        Default::default()      }      /// Sets the icon in the dialog box's titlebar and taskbar button. diff --git a/src/backends/stdio.rs b/src/backends/stdio.rs index 4e4c8ec..9a153df 100644 --- a/src/backends/stdio.rs +++ b/src/backends/stdio.rs @@ -9,13 +9,13 @@ use crate::{Choice, Input, Message, Password, Question, Result};  ///  /// This backend is intended as a fallback backend to use if no other backend is available.  The  /// dialogs are printed to the standard output and user input is read from the standard input. -#[derive(Debug)] +#[derive(Debug, Default)]  pub struct Stdio {}  impl Stdio {      /// Creates a new `Stdio` instance.      pub fn new() -> Stdio { -        Stdio {} +        Default::default()      }  } diff --git a/src/backends/zenity.rs b/src/backends/zenity.rs index d5745eb..0deca0a 100644 --- a/src/backends/zenity.rs +++ b/src/backends/zenity.rs @@ -8,7 +8,7 @@ use crate::{Choice, Error, Input, Message, Password, Question, Result};  /// The `zenity` backend.  ///  /// This backend uses the external `zenity` program to display GTK+ dialog boxes. -#[derive(Debug)] +#[derive(Debug, Default)]  pub struct Zenity {      icon: Option<String>,      width: Option<String>, @@ -19,12 +19,7 @@ pub struct Zenity {  impl Zenity {      /// Creates a new `Zenity` instance without configuration.      pub fn new() -> Zenity { -        Zenity { -            icon: None, -            width: None, -            height: None, -            timeout: None, -        } +        Default::default()      }      /// Sets the icon of the dialog box. | 
