ShowsChild: Remove the need for a .ui file
Its a simple enough widget that can be written by hand and does not need a .ui builder file.
This commit is contained in:
parent
8c25be7d05
commit
c3121bef84
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!-- Generated with glade 3.22.0
|
|
||||||
|
|
||||||
Copyright (C) 2017 - 2018
|
|
||||||
|
|
||||||
This file is part of Hammond.
|
|
||||||
|
|
||||||
Hammond is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Hammond is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Hammond. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Authors:
|
|
||||||
Jordan Petridis
|
|
||||||
Tobias Bernard
|
|
||||||
|
|
||||||
-->
|
|
||||||
<interface>
|
|
||||||
<requires lib="gtk+" version="3.20"/>
|
|
||||||
<!-- interface-license-type gplv3 -->
|
|
||||||
<!-- interface-name Hammond -->
|
|
||||||
<!-- interface-description A podcast client for the GNOME Desktop -->
|
|
||||||
<!-- interface-copyright 2017 - 2018 -->
|
|
||||||
<!-- interface-authors Jordan Petridis\nTobias Bernard -->
|
|
||||||
<object class="GtkBox" id="fb_child">
|
|
||||||
<property name="width_request">256</property>
|
|
||||||
<property name="height_request">256</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="halign">center</property>
|
|
||||||
<property name="valign">center</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage" id="pd_cover">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="halign">center</property>
|
|
||||||
<property name="valign">center</property>
|
|
||||||
<property name="pixel_size">256</property>
|
|
||||||
<property name="icon_name">image-x-generic-symbolic</property>
|
|
||||||
<property name="icon_size">0</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</interface>
|
|
||||||
@ -7,7 +7,6 @@
|
|||||||
<file compressed="true" preprocess="xml-stripblanks">gtk/empty_show.ui</file>
|
<file compressed="true" preprocess="xml-stripblanks">gtk/empty_show.ui</file>
|
||||||
<file compressed="true" preprocess="xml-stripblanks">gtk/home_view.ui</file>
|
<file compressed="true" preprocess="xml-stripblanks">gtk/home_view.ui</file>
|
||||||
<file compressed="true" preprocess="xml-stripblanks">gtk/home_episode.ui</file>
|
<file compressed="true" preprocess="xml-stripblanks">gtk/home_episode.ui</file>
|
||||||
<file compressed="true" preprocess="xml-stripblanks">gtk/shows_child.ui</file>
|
|
||||||
<file compressed="true" preprocess="xml-stripblanks">gtk/headerbar.ui</file>
|
<file compressed="true" preprocess="xml-stripblanks">gtk/headerbar.ui</file>
|
||||||
<file compressed="true" preprocess="xml-stripblanks">gtk/inapp_notif.ui</file>
|
<file compressed="true" preprocess="xml-stripblanks">gtk/inapp_notif.ui</file>
|
||||||
<file compressed="true" preprocess="xml-stripblanks">gtk/hamburger.ui</file>
|
<file compressed="true" preprocess="xml-stripblanks">gtk/hamburger.ui</file>
|
||||||
|
|||||||
@ -140,28 +140,22 @@ fn on_child_activate(child: >k::FlowBoxChild, sender: &Sender<Action>) -> Resu
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug, Clone)]
|
||||||
struct ShowsChild {
|
struct ShowsChild {
|
||||||
container: gtk::Box,
|
|
||||||
cover: gtk::Image,
|
cover: gtk::Image,
|
||||||
child: gtk::FlowBoxChild,
|
child: gtk::FlowBoxChild,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for ShowsChild {
|
impl Default for ShowsChild {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
let builder = gtk::Builder::new_from_resource("/org/gnome/Podcasts/gtk/shows_child.ui");
|
let cover = gtk::Image::new_from_icon_name("image-x-generic-symbolic", -1);
|
||||||
|
|
||||||
let container: gtk::Box = builder.get_object("fb_child").unwrap();
|
|
||||||
let cover: gtk::Image = builder.get_object("pd_cover").unwrap();
|
|
||||||
|
|
||||||
let child = gtk::FlowBoxChild::new();
|
let child = gtk::FlowBoxChild::new();
|
||||||
child.add(&container);
|
|
||||||
|
|
||||||
ShowsChild {
|
cover.set_pixel_size(256);
|
||||||
container,
|
child.add(&cover);
|
||||||
cover,
|
child.show_all();
|
||||||
child,
|
|
||||||
}
|
ShowsChild { cover, child }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -173,7 +167,7 @@ impl ShowsChild {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn init(&self, pd: &Show) {
|
fn init(&self, pd: &Show) {
|
||||||
self.container.set_tooltip_text(pd.title());
|
self.child.set_tooltip_text(pd.title());
|
||||||
WidgetExt::set_name(&self.child, &pd.id().to_string());
|
WidgetExt::set_name(&self.child, &pd.id().to_string());
|
||||||
|
|
||||||
self.set_cover(pd.id())
|
self.set_cover(pd.id())
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user