Bind refresh/cleanup rate
This commit is contained in:
parent
a4a012368e
commit
ef2286dca4
@ -21,7 +21,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<attribute name="label" translatable="yes">_Preferences</attribute>
|
<attribute name="label" translatable="yes">_Preferences</attribute>
|
||||||
<attribute name="action">app.preferences</attribute>
|
<attribute name="action">app.preferences</attribute>
|
||||||
<attribute name="accel"><primary>,</attribute>
|
<attribute name="accel"><primary>e</attribute>
|
||||||
</item>
|
</item>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkShortcutsShortcut">
|
<object class="GtkShortcutsShortcut">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="accelerator"><primary>,</property>
|
<property name="accelerator"><primary>e</property>
|
||||||
<property name="title" translatable="yes" context="shortcut window">Preferences</property>
|
<property name="title" translatable="yes" context="shortcut window">Preferences</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
|||||||
@ -2,6 +2,20 @@
|
|||||||
<!-- Generated with glade 3.22.0 -->
|
<!-- Generated with glade 3.22.0 -->
|
||||||
<interface>
|
<interface>
|
||||||
<requires lib="gtk+" version="3.20"/>
|
<requires lib="gtk+" version="3.20"/>
|
||||||
|
<object class="GtkAdjustment" id="cleanup_value_adj">
|
||||||
|
<property name="lower">1</property>
|
||||||
|
<property name="upper">100</property>
|
||||||
|
<property name="value">1</property>
|
||||||
|
<property name="step_increment">1</property>
|
||||||
|
<property name="page_increment">10</property>
|
||||||
|
</object>
|
||||||
|
<object class="GtkAdjustment" id="refresh_value_adj">
|
||||||
|
<property name="lower">1</property>
|
||||||
|
<property name="upper">100</property>
|
||||||
|
<property name="value">1</property>
|
||||||
|
<property name="step_increment">1</property>
|
||||||
|
<property name="page_increment">10</property>
|
||||||
|
</object>
|
||||||
<object class="GtkWindow" id="prefs">
|
<object class="GtkWindow" id="prefs">
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">Preferences</property>
|
<property name="title" translatable="yes">Preferences</property>
|
||||||
@ -69,6 +83,8 @@
|
|||||||
<property name="height_request">50</property>
|
<property name="height_request">50</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
|
<property name="activatable">False</property>
|
||||||
|
<property name="selectable">False</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox">
|
<object class="GtkBox">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@ -157,6 +173,8 @@
|
|||||||
<property name="height_request">50</property>
|
<property name="height_request">50</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
|
<property name="activatable">False</property>
|
||||||
|
<property name="selectable">False</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox">
|
<object class="GtkBox">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@ -200,6 +218,8 @@
|
|||||||
<property name="height_request">50</property>
|
<property name="height_request">50</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
|
<property name="activatable">False</property>
|
||||||
|
<property name="selectable">False</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox">
|
<object class="GtkBox">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@ -243,6 +263,8 @@
|
|||||||
<property name="height_request">50</property>
|
<property name="height_request">50</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
|
<property name="activatable">False</property>
|
||||||
|
<property name="selectable">False</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox">
|
<object class="GtkBox">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@ -272,6 +294,9 @@
|
|||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="input_purpose">digits</property>
|
<property name="input_purpose">digits</property>
|
||||||
|
<property name="adjustment">refresh_value_adj</property>
|
||||||
|
<property name="climb_rate">1</property>
|
||||||
|
<property name="value">1</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
@ -357,6 +382,8 @@
|
|||||||
<property name="height_request">50</property>
|
<property name="height_request">50</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
|
<property name="activatable">False</property>
|
||||||
|
<property name="selectable">False</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox">
|
<object class="GtkBox">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@ -386,6 +413,9 @@
|
|||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="input_purpose">digits</property>
|
<property name="input_purpose">digits</property>
|
||||||
|
<property name="adjustment">cleanup_value_adj</property>
|
||||||
|
<property name="climb_rate">1</property>
|
||||||
|
<property name="value">1</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
@ -446,7 +476,7 @@
|
|||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child type="titlebar">
|
||||||
<placeholder/>
|
<placeholder/>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
|||||||
@ -9,7 +9,9 @@ pub struct Prefs {
|
|||||||
dark_toggle: gtk::Switch,
|
dark_toggle: gtk::Switch,
|
||||||
startup_toggle: gtk::Switch,
|
startup_toggle: gtk::Switch,
|
||||||
auto_toggle: gtk::Switch,
|
auto_toggle: gtk::Switch,
|
||||||
|
refresh_value: gtk::SpinButton,
|
||||||
refresh_type: gtk::ComboBox,
|
refresh_type: gtk::ComboBox,
|
||||||
|
cleanup_value: gtk::SpinButton,
|
||||||
cleanup_type: gtk::ComboBox,
|
cleanup_type: gtk::ComboBox,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -21,7 +23,9 @@ impl Default for Prefs {
|
|||||||
let dark_toggle = builder.get_object("dark_toggle").unwrap();
|
let dark_toggle = builder.get_object("dark_toggle").unwrap();
|
||||||
let startup_toggle = builder.get_object("startup_toggle").unwrap();
|
let startup_toggle = builder.get_object("startup_toggle").unwrap();
|
||||||
let auto_toggle = builder.get_object("auto_toggle").unwrap();
|
let auto_toggle = builder.get_object("auto_toggle").unwrap();
|
||||||
|
let refresh_value = builder.get_object("refresh_value").unwrap();
|
||||||
let refresh_type = builder.get_object("refresh_type").unwrap();
|
let refresh_type = builder.get_object("refresh_type").unwrap();
|
||||||
|
let cleanup_value = builder.get_object("cleanup_value").unwrap();
|
||||||
let cleanup_type = builder.get_object("cleanup_type").unwrap();
|
let cleanup_type = builder.get_object("cleanup_type").unwrap();
|
||||||
|
|
||||||
Prefs {
|
Prefs {
|
||||||
@ -29,7 +33,9 @@ impl Default for Prefs {
|
|||||||
dark_toggle,
|
dark_toggle,
|
||||||
startup_toggle,
|
startup_toggle,
|
||||||
auto_toggle,
|
auto_toggle,
|
||||||
|
refresh_value,
|
||||||
refresh_type,
|
refresh_type,
|
||||||
|
cleanup_value,
|
||||||
cleanup_type,
|
cleanup_type,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -62,10 +68,34 @@ impl Prefs {
|
|||||||
"active",
|
"active",
|
||||||
gio::SettingsBindFlags::DEFAULT,
|
gio::SettingsBindFlags::DEFAULT,
|
||||||
);
|
);
|
||||||
|
settings.bind(
|
||||||
|
"refresh-interval-time",
|
||||||
|
&self.refresh_value,
|
||||||
|
"value",
|
||||||
|
gio::SettingsBindFlags::DEFAULT,
|
||||||
|
);
|
||||||
|
settings.bind(
|
||||||
|
"cleanup-age-time",
|
||||||
|
&self.cleanup_value,
|
||||||
|
"value",
|
||||||
|
gio::SettingsBindFlags::DEFAULT,
|
||||||
|
);
|
||||||
|
let refresh_p = settings.get_string("refresh-interval-period").unwrap();
|
||||||
|
let mut refresh_pos = 0;
|
||||||
|
let cleanup_p = settings.get_string("cleanup-age-period").unwrap();
|
||||||
|
let mut cleanup_pos = 0;
|
||||||
let store = gtk::ListStore::new(&[gtk::Type::String]);
|
let store = gtk::ListStore::new(&[gtk::Type::String]);
|
||||||
|
let mut i = 0;
|
||||||
for item in ["Seconds", "Minutes", "Hours", "Days", "Weeks"].iter() {
|
for item in ["Seconds", "Minutes", "Hours", "Days", "Weeks"].iter() {
|
||||||
let row = [&(item) as &ToValue];
|
let row = [&(item) as &ToValue];
|
||||||
|
if item.to_lowercase() == refresh_p {
|
||||||
|
refresh_pos = i;
|
||||||
|
}
|
||||||
|
if item.to_lowercase() == cleanup_p {
|
||||||
|
cleanup_pos = i;
|
||||||
|
}
|
||||||
store.insert_with_values(None, &[0], &row);
|
store.insert_with_values(None, &[0], &row);
|
||||||
|
i += 1 ;
|
||||||
}
|
}
|
||||||
for combo in [self.refresh_type.clone(), self.cleanup_type.clone()].iter() {
|
for combo in [self.refresh_type.clone(), self.cleanup_type.clone()].iter() {
|
||||||
combo.set_model(Some(&store));
|
combo.set_model(Some(&store));
|
||||||
@ -73,7 +103,20 @@ impl Prefs {
|
|||||||
combo.pack_start(&renderer, true);
|
combo.pack_start(&renderer, true);
|
||||||
combo.add_attribute(&renderer, "text", 0);
|
combo.add_attribute(&renderer, "text", 0);
|
||||||
}
|
}
|
||||||
// settings.get_string("cleanup-age-period").unwrap();
|
self.refresh_type.set_active(refresh_pos);
|
||||||
|
self.refresh_type
|
||||||
|
.connect_changed(clone!(settings, store => move |combo| {
|
||||||
|
let value = store.get_value(&combo.get_active_iter().unwrap(), 0);
|
||||||
|
let value: &str = value.get().unwrap();
|
||||||
|
settings.set_string("refresh-interval-period", &value.to_lowercase());
|
||||||
|
}));
|
||||||
|
self.cleanup_type.set_active(cleanup_pos);
|
||||||
|
self.cleanup_type
|
||||||
|
.connect_changed(clone!(settings, store => move |combo| {
|
||||||
|
let value = store.get_value(&combo.get_active_iter().unwrap(), 0);
|
||||||
|
let value: &str = value.get().unwrap();
|
||||||
|
settings.set_string("cleanup-age-period", &value.to_lowercase());
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn show(&self, parent: >k::Window) {
|
pub fn show(&self, parent: >k::Window) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user