headerbar: Add ERROR style to Add entry
When you enter an invalid or duplicate URL an error message is shown. But GTK's error style is not applied to the entry. This commit applies GTK's error style to the URL entry when appropriate. part of #45
This commit is contained in:
parent
0b8d19fbbe
commit
0dc1f810d2
@ -107,10 +107,16 @@ impl AddPopover {
|
||||
match Url::parse(&url) {
|
||||
Ok(u) => {
|
||||
if !dbqueries::source_exists(u.as_str())? {
|
||||
self.entry
|
||||
.get_style_context()
|
||||
.remove_class(>k::STYLE_CLASS_ERROR);
|
||||
self.entry
|
||||
.set_icon_from_icon_name(gtk::EntryIconPosition::Secondary, None);
|
||||
self.add.set_sensitive(true);
|
||||
} else {
|
||||
self.entry
|
||||
.get_style_context()
|
||||
.add_class(>k::STYLE_CLASS_ERROR);
|
||||
self.entry.set_icon_from_icon_name(
|
||||
gtk::EntryIconPosition::Secondary,
|
||||
"dialog-error-symbolic",
|
||||
@ -126,6 +132,9 @@ impl AddPopover {
|
||||
Err(err) => {
|
||||
self.add.set_sensitive(false);
|
||||
if !url.is_empty() {
|
||||
self.entry
|
||||
.get_style_context()
|
||||
.add_class(>k::STYLE_CLASS_ERROR);
|
||||
self.entry.set_icon_from_icon_name(
|
||||
gtk::EntryIconPosition::Secondary,
|
||||
"dialog-error-symbolic",
|
||||
@ -136,6 +145,9 @@ impl AddPopover {
|
||||
);
|
||||
error!("Error: {}", err);
|
||||
} else {
|
||||
self.entry
|
||||
.get_style_context()
|
||||
.remove_class(>k::STYLE_CLASS_ERROR);
|
||||
self.entry
|
||||
.set_icon_from_icon_name(gtk::EntryIconPosition::Secondary, None);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user