Fix dialog entry buffers
This commit is contained in:
parent
48f789ca83
commit
e0feae0546
@ -3,6 +3,7 @@ use std::sync::Arc;
|
||||
|
||||
use relm4::{
|
||||
component::{AsyncComponent, AsyncComponentParts, Connector},
|
||||
gtk::EntryBuffer,
|
||||
prelude::*,
|
||||
AsyncComponentSender,
|
||||
};
|
||||
@ -14,8 +15,8 @@ pub struct SheetEditDialogModel {
|
||||
database: Arc<Database>,
|
||||
hidden: bool,
|
||||
sheet: Option<Sheet>,
|
||||
sheet_name: String,
|
||||
sheet_composer: String,
|
||||
name_entry_buffer: EntryBuffer,
|
||||
composer_entry_buffer: EntryBuffer,
|
||||
is_book: bool,
|
||||
book_sheets: Vec<(String, String, i64)>,
|
||||
alert_empty_fields: Connector<Alert>,
|
||||
@ -62,8 +63,7 @@ impl AsyncComponent for SheetEditDialogModel {
|
||||
set_text: "Sheet name"
|
||||
},
|
||||
gtk::Entry {
|
||||
#[watch]
|
||||
set_text: &model.sheet_name,
|
||||
set_buffer: &model.name_entry_buffer,
|
||||
set_width_chars: 40,
|
||||
},
|
||||
},
|
||||
@ -73,8 +73,7 @@ impl AsyncComponent for SheetEditDialogModel {
|
||||
set_text: "Sheet composer"
|
||||
},
|
||||
gtk::Entry {
|
||||
#[watch]
|
||||
set_text : &model.sheet_composer,
|
||||
set_buffer: &model.composer_entry_buffer,
|
||||
set_hexpand: true,
|
||||
},
|
||||
},
|
||||
@ -153,8 +152,8 @@ impl AsyncComponent for SheetEditDialogModel {
|
||||
database: params.database,
|
||||
hidden: false,
|
||||
sheet: Some(sheet),
|
||||
sheet_name,
|
||||
sheet_composer,
|
||||
name_entry_buffer: EntryBuffer::new(Some(sheet_name)),
|
||||
composer_entry_buffer: EntryBuffer::new(Some(sheet_composer)),
|
||||
is_book,
|
||||
book_sheets: Vec::new(),
|
||||
alert_empty_fields: Alert::builder().transient_for(&root).launch(AlertSettings {
|
||||
@ -183,10 +182,17 @@ impl AsyncComponent for SheetEditDialogModel {
|
||||
match msg {
|
||||
SheetEditDialogInput::Accept => {
|
||||
if let Some(_sheet) = &self.sheet {
|
||||
if self.sheet_name.is_empty() || self.sheet_composer.is_empty() {
|
||||
let sheet_name_string = self.name_entry_buffer.text();
|
||||
let sheet_name = sheet_name_string.trim();
|
||||
|
||||
let sheet_composer_string = self.composer_entry_buffer.text();
|
||||
let sheet_composer = sheet_composer_string.trim();
|
||||
|
||||
if sheet_name.is_empty() || sheet_composer.is_empty() {
|
||||
self.alert_empty_fields.emit(AlertMsg::Show);
|
||||
return;
|
||||
}
|
||||
|
||||
// match sheet.kind.borrow_mut() {
|
||||
// crate::sheet::SheetKind::Sheet {
|
||||
// name,
|
||||
|
Loading…
x
Reference in New Issue
Block a user