Migrate to newer GTK

This commit is contained in:
Ilya Zlobintsev
2021-08-13 12:20:41 +03:00
parent a7d203c7d5
commit e9fd31fb6a
17 changed files with 43 additions and 29 deletions

View File

@@ -9,9 +9,9 @@ edition = "2018"
[dependencies]
daemon = { path = "../daemon" }
gtk = { version = "0.9", features = ["v3_22"] }
pango = "0.9"
glib = "0.10"
gtk = { version = "0.14", features = ["v3_22"] }
pango = "0.14"
glib = "0.14"
log = "0.4"
env_logger = "0.8"
env_logger = "0.9"

View File

@@ -16,6 +16,7 @@ use apply_revealer::ApplyRevealer;
use daemon::daemon_connection::DaemonConnection;
use daemon::gpu_controller::GpuStats;
use daemon::DaemonError;
use gtk::prelude::*;
use gtk::*;
use header::Header;
@@ -247,6 +248,10 @@ impl App {
}
fn start_stats_update_loop(&self, current_gpu_id: Arc<AtomicU32>) {
let context = glib::MainContext::default();
let _guard = context.acquire();
// The loop that gets stats
let (sender, receiver) = glib::MainContext::channel(glib::PRIORITY_DEFAULT);
{

View File

@@ -1,3 +1,4 @@
use gtk::prelude::*;
use gtk::*;
#[derive(Clone)]

View File

@@ -1,4 +1,4 @@
use gtk::prelude::{ComboBoxExtManual, ObjectExt};
use gtk::prelude::*;
use gtk::*;
use pango::EllipsizeMode;
use std::collections::HashMap;
@@ -42,7 +42,7 @@ impl Header {
}
//limits the length of gpu names in combobox
for cell in self.gpu_selector.get_cells() {
for cell in self.gpu_selector.cells() {
cell.set_property("width-chars", &10).unwrap();
cell.set_property("ellipsize", &EllipsizeMode::End).unwrap();
}
@@ -52,7 +52,7 @@ impl Header {
pub fn connect_gpu_selection_changed<F: Fn(u32) + 'static>(&self, f: F) {
self.gpu_selector.connect_changed(move |gpu_selector| {
let selected_id = gpu_selector.get_active_id().unwrap();
let selected_id = gpu_selector.active_id().unwrap();
f(selected_id.parse().unwrap());
});
}

View File

@@ -3,6 +3,7 @@ mod oc_page;
mod software_page;
mod thermals_page;
use gtk::prelude::*;
use gtk::*;
use info_page::InformationPage;

View File

@@ -1,6 +1,7 @@
mod vulkan_info;
use daemon::gpu_controller::GpuInfo;
use gtk::prelude::*;
use gtk::*;
use vulkan_info::VulkanInfoFrame;

View File

@@ -1,4 +1,5 @@
use daemon::gpu_controller::VulkanInfo;
use gtk::prelude::*;
use gtk::*;
#[derive(Clone)]

View File

@@ -6,6 +6,7 @@ mod warning_frame;
use clocks_frame::ClocksSettings;
use daemon::gpu_controller::{GpuInfo, GpuStats, PowerProfile};
use gtk::prelude::*;
use gtk::*;
use clocks_frame::ClocksFrame;

View File

@@ -1,4 +1,5 @@
use daemon::gpu_controller::ClocksTable;
use gtk::prelude::*;
use gtk::*;
pub struct ClocksSettings {
@@ -178,11 +179,11 @@ impl ClocksFrame {
}
pub fn get_settings(&self) -> ClocksSettings {
let gpu_clock = self.gpu_clock_adjustment.get_value() as i64;
let gpu_clock = self.gpu_clock_adjustment.value() as i64;
let vram_clock = self.vram_clock_adjustment.get_value() as i64;
let vram_clock = self.vram_clock_adjustment.value() as i64;
let gpu_voltage = (self.gpu_voltage_adjustment.get_value() * 1000.0) as i64;
let gpu_voltage = (self.gpu_voltage_adjustment.value() * 1000.0) as i64;
ClocksSettings {
gpu_clock,

View File

@@ -1,3 +1,4 @@
use gtk::prelude::*;
use gtk::*;
#[derive(Clone)]
@@ -30,11 +31,7 @@ impl PowerCapFrame {
{
let label = label.clone();
adjustment.connect_value_changed(move |adj| {
label.set_markup(&format!(
"{}/{} W",
adj.get_value().round(),
adj.get_upper()
));
label.set_markup(&format!("{}/{} W", adj.value().round(), adj.upper()));
});
}
@@ -68,7 +65,7 @@ impl PowerCapFrame {
pub fn get_cap(&self) -> Option<i64> {
// Using match gives a warning that floats shouldn't be used in patterns
let cap = self.adjustment.get_value();
let cap = self.adjustment.value();
if cap == 0.0 {
None
} else {

View File

@@ -1,6 +1,6 @@
use daemon::gpu_controller::PowerProfile;
use gtk::prelude::*;
use gtk::*;
use prelude::ComboBoxExtManual;
#[derive(Clone)]
pub struct PowerProfileFrame {
@@ -38,7 +38,7 @@ impl PowerProfileFrame {
{
let description_label = description_label.clone();
combo_box.connect_changed(move |combobox| match combobox.get_active().unwrap() {
combo_box.connect_changed(move |combobox| match combobox.active().unwrap() {
0 => description_label
.set_text("Automatically adjust GPU and VRAM clocks. (Default)"),
1 => description_label
@@ -72,7 +72,7 @@ impl PowerProfileFrame {
}
pub fn get_selected_power_profile(&self) -> PowerProfile {
match self.combo_box.get_active().unwrap() {
match self.combo_box.active().unwrap() {
0 => PowerProfile::Auto,
1 => PowerProfile::High,
2 => PowerProfile::Low,

View File

@@ -1,4 +1,5 @@
use daemon::gpu_controller::GpuStats;
use gtk::prelude::*;
use gtk::*;
#[derive(Clone)]
@@ -179,11 +180,12 @@ impl StatsGrid {
None => match stats.temperatures.get("edge") {
Some(temp) => Some(temp.current),
None => None,
}
},
};
if let Some(temp) = temp {
self.gpu_temperature_label.set_markup(&format!("<b>{}°C</b>", temp));
self.gpu_temperature_label
.set_markup(&format!("<b>{}°C</b>", temp));
}
self.gpu_usage_label

View File

@@ -1,3 +1,4 @@
use gtk::prelude::*;
use gtk::*;
#[derive(Clone)]

View File

@@ -1,3 +1,4 @@
use gtk::prelude::*;
use gtk::*;
#[derive(Debug, Clone)]

View File

@@ -101,7 +101,7 @@ impl ThermalsPage {
let fan_curve_frame = fan_curve_frame.clone();
fan_control_enabled_switch.connect_changed_active(move |switch| {
log::trace!("Fan control switch toggled");
if switch.get_active() {
if switch.state() {
{
glib::idle_add(|| {
let diag = MessageDialog::new(None::<&Window>, DialogFlags::empty(), MessageType::Warning, ButtonsType::Ok,
@@ -192,7 +192,7 @@ impl ThermalsPage {
}
pub fn get_thermals_settings(&self) -> ThermalsSettings {
let automatic_fan_control_enabled = self.fan_control_enabled_switch.get_active();
let automatic_fan_control_enabled = self.fan_control_enabled_switch.state();
let curve = self.fan_curve_frame.get_curve();
ThermalsSettings {

View File

@@ -1,5 +1,6 @@
use std::collections::BTreeMap;
use gtk::prelude::*;
use gtk::*;
#[derive(Clone)]
@@ -178,11 +179,11 @@ impl FanCurveFrame {
pub fn get_curve(&self) -> BTreeMap<i64, f64> {
let mut curve = BTreeMap::new();
curve.insert(20, self.adjustment_1.get_value());
curve.insert(40, self.adjustment_2.get_value());
curve.insert(60, self.adjustment_3.get_value());
curve.insert(80, self.adjustment_4.get_value());
curve.insert(100, self.adjustment_5.get_value());
curve.insert(20, self.adjustment_1.value());
curve.insert(40, self.adjustment_2.value());
curve.insert(60, self.adjustment_3.value());
curve.insert(80, self.adjustment_4.value());
curve.insert(100, self.adjustment_5.value());
curve
}

View File

@@ -2,6 +2,7 @@ use std::thread;
use app::App;
use daemon::{daemon_connection::DaemonConnection, Daemon};
use gtk::prelude::*;
use gtk::*;
mod app;