mirror of
https://github.com/Xetibo/ReSet.git
synced 2025-04-08 22:52:01 +02:00
Add audio template
This commit is contained in:
parent
4c3209deae
commit
600efad2ef
45
src/audio/audioSource.rs
Normal file
45
src/audio/audioSource.rs
Normal file
|
@ -0,0 +1,45 @@
|
|||
use gtk::{Button, CompositeTemplate, glib, Image, Label, ProgressBar, Scale};
|
||||
use gtk::prelude::*;
|
||||
use gtk::subclass::prelude::*;
|
||||
|
||||
|
||||
#[allow(non_snake_case)]
|
||||
#[derive(Default, CompositeTemplate)]
|
||||
#[template(resource = "/org/xetibo/reset/resetAudioSourceEntry.ui")]
|
||||
pub struct AudioSourceEntry {
|
||||
#[template_child]
|
||||
pub resetSourceIcon: TemplateChild<Image>,
|
||||
#[template_child]
|
||||
pub resetSourceName: TemplateChild<Label>,
|
||||
#[template_child]
|
||||
pub resetSourceMute: TemplateChild<Button>,
|
||||
#[template_child]
|
||||
pub resetVolumeSlider: TemplateChild<Scale>,
|
||||
#[template_child]
|
||||
pub resetVolumeMeter: TemplateChild<ProgressBar>,
|
||||
}
|
||||
|
||||
#[glib::object_subclass]
|
||||
impl ObjectSubclass for AudioSourceEntry {
|
||||
const NAME: &'static str = "resetWifiEntry";
|
||||
type Type = super::AudioSourceEntry;
|
||||
// type ParentType = gtk::Box;
|
||||
|
||||
fn class_init(klass: &mut Self::Class) {
|
||||
klass.bind_template();
|
||||
}
|
||||
|
||||
fn instance_init(obj: &glib::subclass::InitializingObject<Self>) {
|
||||
obj.init_template();
|
||||
}
|
||||
}
|
||||
|
||||
impl ObjectImpl for AudioSourceEntry {}
|
||||
|
||||
impl ListBoxRowImpl for AudioSourceEntry {}
|
||||
|
||||
impl WidgetImpl for AudioSourceEntry {}
|
||||
|
||||
impl WindowImpl for AudioSourceEntry {}
|
||||
|
||||
impl ApplicationWindowImpl for AudioSourceEntry {}
|
19
src/audio/mod.rs
Normal file
19
src/audio/mod.rs
Normal file
|
@ -0,0 +1,19 @@
|
|||
#![allow(non_snake_case)]
|
||||
|
||||
mod audioSource;
|
||||
|
||||
use adw::glib::Object;
|
||||
use gtk::{glib};
|
||||
|
||||
glib::wrapper! {
|
||||
pub struct AudioSourceEntry(ObjectSubclass<audioSource::AudioSourceEntry>)
|
||||
@extends gtk::Box, gtk::Widget,
|
||||
@implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable;
|
||||
}
|
||||
|
||||
|
||||
impl AudioSourceEntry {
|
||||
pub fn new() -> Self {
|
||||
Object::builder().build()
|
||||
}
|
||||
}
|
|
@ -1,4 +1,6 @@
|
|||
mod window;
|
||||
|
||||
mod audio;
|
||||
mod wifi;
|
||||
|
||||
use gtk::prelude::*;
|
||||
|
|
45
src/resources/resetAudioSourceEntry.ui
Normal file
45
src/resources/resetAudioSourceEntry.ui
Normal file
|
@ -0,0 +1,45 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- Created with Cambalache 0.17.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk" version="4.12"/>
|
||||
<template class="resetAudioSource" parent="GtkBox">
|
||||
<property name="margin-end">5</property>
|
||||
<property name="margin-start">5</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkImage" id="resetSourceIcon"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="resetSourceName"/>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="margin-bottom">5</property>
|
||||
<property name="margin-top">5</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetSourceMute">
|
||||
<property name="icon-name">audio-volume-high-symbolic</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale" id="resetVolumeSlider">
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment">
|
||||
<property name="page-increment">0.2</property>
|
||||
<property name="upper">10.0</property>
|
||||
</object>
|
||||
</property>
|
||||
<property name="hexpand">True</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkProgressBar" id="resetLevel"/>
|
||||
</child>
|
||||
</template>
|
||||
</interface>
|
|
@ -4,6 +4,9 @@
|
|||
<requires lib="gtk" version="4.12"/>
|
||||
<requires lib="libadwaita" version="1.4"/>
|
||||
<template class="resetUI" parent="AdwApplicationWindow">
|
||||
<child>
|
||||
<object class="GtkWindowHandle"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwOverlaySplitView" id="resetOverlaySplitView">
|
||||
<property name="content">
|
||||
|
@ -12,6 +15,7 @@
|
|||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="valign">start</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetSideBarToggle">
|
||||
<property name="icon-name">sidebar-show-symbolic</property>
|
||||
|
@ -21,27 +25,32 @@
|
|||
<child>
|
||||
<object class="GtkButton" id="resetBack">
|
||||
<property name="icon-name">go-previous-symbolic</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetForward">
|
||||
<property name="icon-name">go-previous-symbolic-rtl</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="resetPath"/>
|
||||
<object class="GtkBox" id="resetPath">
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetMenu">
|
||||
<property name="halign">end</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="icon-name">open-menu-symbolic</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetClose">
|
||||
<property name="icon-name">window-close-symbolic</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
|
|
@ -5,24 +5,26 @@
|
|||
(3,1,None,"resetMainWindow",None,None,None,None,None,None,None),
|
||||
(4,7,None,"resetWiFi",None,None,None,None,None,None,None),
|
||||
(5,1,None,"resetWifiEntry",None,None,None,None,None,None,None),
|
||||
(6,1,None,"resetSidebarEntry",None,None,None,None,None,None,None)
|
||||
(6,1,None,"resetSidebarEntry",None,None,None,None,None,None,None),
|
||||
(7,1,None,"resetAudioSourceEntry",None,None,None,None,None,None,None)
|
||||
</ui>
|
||||
<object>
|
||||
(3,1,"AdwApplicationWindow","resetUI",None,None,None,None,-1," <child>\n <object id=\"resetSidebarBreakpoint\" class=\"AdwBreakpoint\">\n </object>\n </child>"),
|
||||
(3,2,"AdwOverlaySplitView","resetOverlaySplitView",1,None,None,None,None,""),
|
||||
(3,2,"AdwOverlaySplitView","resetOverlaySplitView",1,None,None,None,2,""),
|
||||
(3,3,"GtkBox",None,2,None,None,None,None,None),
|
||||
(3,4,"GtkBox",None,3,None,None,None,None,None),
|
||||
(3,5,"GtkButton","resetSideBarToggle",4,None,None,None,None,None),
|
||||
(3,6,"GtkButton",None,4,None,None,None,1,None),
|
||||
(3,7,"GtkButton",None,4,None,None,None,2,None),
|
||||
(3,8,"GtkLabel",None,4,None,None,None,3,None),
|
||||
(3,9,"GtkButton",None,4,None,None,None,4,None),
|
||||
(3,10,"GtkButton",None,4,None,None,None,5,None),
|
||||
(3,6,"GtkButton","resetBack",4,None,None,None,1,None),
|
||||
(3,7,"GtkButton","resetForward",4,None,None,None,2,None),
|
||||
(3,9,"GtkButton","resetMenu",4,None,None,None,4,None),
|
||||
(3,10,"GtkButton","resetClose",4,None,None,None,5,None),
|
||||
(3,11,"GtkFlowBox","resetMain",3,None,None,None,1,None),
|
||||
(3,12,"GtkViewport",None,2,None,None,None,None,None),
|
||||
(3,13,"GtkBox",None,12,None,None,None,None,None),
|
||||
(3,14,"GtkSearchEntry","resetSearchEntry",13,None,None,None,None,None),
|
||||
(3,15,"GtkListBox","resetSidebarList",13,None,None,None,1,None),
|
||||
(3,16,"GtkBox","resetPath",4,None,None,None,3,None),
|
||||
(3,17,"GtkWindowHandle",None,1,None,None,None,1,None),
|
||||
(4,7,"GtkBox","resetWifi",None,None,None,None,None,None),
|
||||
(4,8,"AdwClampScrollable",None,7,None,None,None,None,None),
|
||||
(4,9,"GtkBox",None,8,None,None,None,None,None),
|
||||
|
@ -44,7 +46,16 @@
|
|||
(6,1,"GtkListBoxRow","resetSidebarEntry",None,None,None,None,None,None),
|
||||
(6,2,"GtkBox",None,1,None,None,None,-1,None),
|
||||
(6,6,"GtkImage","resetSidebarImage",2,None,None,None,1,None),
|
||||
(6,7,"GtkLabel","resetSidebarLabel",2,None,None,None,2,None)
|
||||
(6,7,"GtkLabel","resetSidebarLabel",2,None,None,None,2,None),
|
||||
(7,1,"GtkBox","resetAudioSourceEntry",None,None,None,None,-1,None),
|
||||
(7,4,"GtkProgressBar","resetLevel",1,None,None,None,2,None),
|
||||
(7,5,"GtkBox",None,1,None,None,None,None,None),
|
||||
(7,6,"GtkLabel","resetSourceName",5,None,None,None,1,None),
|
||||
(7,7,"GtkImage","resetSourceIcon",5,None,None,None,None,None),
|
||||
(7,8,"GtkBox",None,1,None,None,None,1,None),
|
||||
(7,9,"GtkScale","resetVolumeSlider",8,None,None,None,1,None),
|
||||
(7,10,"GtkAdjustment",None,9,None,None,None,None,None),
|
||||
(7,11,"GtkButton","resetSourceMute",8,None,None,None,None,None)
|
||||
</object>
|
||||
<object_property>
|
||||
(3,2,"AdwOverlaySplitView","content",None,None,None,None,None,3,None,None,None,None),
|
||||
|
@ -55,16 +66,19 @@
|
|||
(3,2,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,3,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(3,3,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,4,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,5,"GtkButton","icon-name","sidebar-show-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(3,5,"GtkWidget","visible","False",None,None,None,None,None,None,None,None,None),
|
||||
(3,6,"GtkButton","icon-name","go-previous-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(3,6,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,7,"GtkButton","icon-name","go-previous-symbolic-rtl",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkLabel","label","breadcrum path",None,None,None,None,None,None,None,None,None),
|
||||
(3,7,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkButton","icon-name","open-menu-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkButton","icon-name","window-close-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,11,"GtkFlowBox","column-spacing","25",None,None,None,None,None,None,None,None,None),
|
||||
(3,11,"GtkFlowBox","homogeneous","True",None,None,None,None,None,None,None,None,None),
|
||||
(3,11,"GtkFlowBox","row-spacing","25",None,None,None,None,None,None,None,None,None),
|
||||
|
@ -76,6 +90,7 @@
|
|||
(3,14,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,15,"GtkWidget","css-name","resetList",None,None,None,None,None,None,None,None,None),
|
||||
(3,15,"GtkWidget","width-request","150",None,None,None,None,None,None,None,None,None),
|
||||
(3,16,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(4,7,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(4,7,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(4,7,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
|
@ -106,7 +121,17 @@
|
|||
(6,2,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
|
||||
(6,2,"GtkWidget","margin-start","10",None,None,None,None,None,None,None,None,None),
|
||||
(6,2,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None),
|
||||
(6,6,"GtkWidget","margin-end","10",None,None,None,None,None,None,None,None,None)
|
||||
(6,6,"GtkWidget","margin-end","10",None,None,None,None,None,None,None,None,None),
|
||||
(7,1,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(7,1,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
|
||||
(7,1,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
|
||||
(7,8,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
|
||||
(7,8,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
|
||||
(7,9,"GtkRange","adjustment",None,None,None,None,None,10,None,None,None,None),
|
||||
(7,9,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(7,10,"GtkAdjustment","page-increment","0.2",None,None,None,None,None,None,None,None,None),
|
||||
(7,10,"GtkAdjustment","upper","10.0",None,None,None,None,None,None,None,None,None),
|
||||
(7,11,"GtkButton","icon-name","audio-volume-high-symbolic",None,None,None,None,None,None,None,None,None)
|
||||
</object_property>
|
||||
<object_data>
|
||||
(3,15,"GtkWidget",2,2,None,1,None,None,None,None),
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<gresources>
|
||||
<gresource prefix="/org/xetibo/reset/">
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetSidebarEntry.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetWifiEntry.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetWiFi.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetMainWindow.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetSidebarEntry.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetWiFi.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetWifiEntry.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetAudioSourceEntry.ui</file>
|
||||
</gresource>
|
||||
</gresources>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
use gtk::{CompositeTemplate, glib, ListBox};
|
||||
use gtk::prelude::*;
|
||||
use gtk::subclass::prelude::*;
|
||||
|
||||
use crate::wifi::WifiEntry;
|
||||
|
||||
#[allow(non_snake_case)]
|
||||
|
@ -9,7 +10,6 @@ use crate::wifi::WifiEntry;
|
|||
pub struct WifiBox {
|
||||
#[template_child]
|
||||
pub resetWifiList: TemplateChild<ListBox>,
|
||||
// pub resetWifiList2: Vec<ListBox>,
|
||||
}
|
||||
|
||||
#[glib::object_subclass]
|
||||
|
@ -31,16 +31,6 @@ impl ObjectSubclass for WifiBox {
|
|||
impl ObjectImpl for WifiBox {
|
||||
fn constructed(&self) {
|
||||
self.parent_constructed();
|
||||
|
||||
// for i in 0.. {
|
||||
// let listEntryOption = self.resetWifiList.row_at_index(i);
|
||||
// match listEntryOption {
|
||||
// None => break,
|
||||
// Some(row) => {
|
||||
//
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue