Split functional, add namespace

Signed-off-by: Vasiliy Doylov <nekocwd@mainlining.org>
This commit is contained in:
Vasiliy Doylov 2025-07-09 23:18:43 +03:00
parent 6db441683d
commit 2f9ad060b8
Signed by: NekoCWD
GPG key ID: B7BE22D44474A582
5 changed files with 30 additions and 36 deletions

View file

@ -0,0 +1,22 @@
namespace Extension {
[ModuleInit]
[CCode (cname = "g_io_phosh_plugin_vala_quick_setting_load")]
public static void load (GLib.TypeModule module) {
IOExtensionPoint.implement ("phosh-quick-setting-widget",
typeof (QuickSetting),
"vala-quick-setting",
10);
}
[CCode (cname = "g_io_phosh_plugin_vala_quick_setting_unload")]
public static void unload (GLib.IOModule module) {
}
[CCode (cname = "g_io_phosh_plugin_vala_quick_setting_query")]
public static string[] query () {
StrvBuilder builder = new StrvBuilder ();
builder.add ("phosh-quick-setting-widget");
return builder.end ();
}
}

View file

@ -2,11 +2,14 @@ name = 'vala-quick-setting'
vala_quick_setting_resources = gnome.compile_resources( vala_quick_setting_resources = gnome.compile_resources(
'phosh-plugin-vala-quick-setting-resources', 'phosh-plugin-vala-quick-setting-resources',
'phosh-plugin-vala-quick-setting.gresources.xml', 'extension.gresources.xml',
c_name: 'phosh_plugin_vala_quick_setting', c_name: 'phosh_plugin_vala_quick_setting',
) )
vala_quick_setting_plugin_sources = files('phosh-plugin-vala-quick-setting.vala') vala_quick_setting_plugin_sources = files(
'extension.vala',
'qs.vala',
)
phosh_vala_quick_setting_plugin = shared_module( phosh_vala_quick_setting_plugin = shared_module(
'phosh-plugin-vala-quick-setting', 'phosh-plugin-vala-quick-setting',

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<interface> <interface>
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<template class="ValaQuickSetting" parent="PhoshQuickSetting"> <template class="ExtensionQuickSetting" parent="PhoshQuickSetting">
<property name="status-icon">info</property> <property name="status-icon">info</property>
<property name="status-page">status_page</property> <property name="status-page">status_page</property>
<signal name="clicked" handler="on_clicked" object="PhoshValaQuickSetting" swapped="yes"/> <signal name="clicked" handler="on_clicked" object="PhoshValaQuickSetting" swapped="yes"/>

View file

@ -11,17 +11,13 @@ using GLib;
[GtkTemplate (ui = "/mobi/phosh/plugins/vala-quick-setting/qs.ui")] [GtkTemplate (ui = "/mobi/phosh/plugins/vala-quick-setting/qs.ui")]
public class ValaQuickSetting : QuickSetting public class Extension.QuickSetting : Phosh.QuickSetting {
{
[GtkChild] [GtkChild]
private unowned StatusIcon info; private unowned StatusIcon info;
[GtkCallback] [GtkCallback]
private void private void on_clicked (Phosh.QuickSetting qs) {
on_clicked (Phosh.QuickSetting qs)
{
bool active = get_active (); bool active = get_active ();
if (active) { if (active) {
info.set_icon_name ("face-shutmouth-symbolic"); info.set_icon_name ("face-shutmouth-symbolic");
info.set_info ("I'm Inactive"); info.set_info ("I'm Inactive");
@ -38,30 +34,3 @@ public class ValaQuickSetting : QuickSetting
info.set_info ("I'm Inactive"); info.set_info ("I'm Inactive");
} }
} }
[ModuleInit]
public void
g_io_phosh_plugin_vala_quick_setting_load (GLib.TypeModule module)
{
GLib.IOExtensionPoint.implement ("phosh-quick-setting-widget",
typeof(ValaQuickSetting),
"vala-quick-setting",
10);
}
public void
g_io_phosh_plugin_vala_quick_setting_unload (GLib.IOModule module)
{
}
public string[]
g_io_phosh_plugin_vala_quick_setting_query ()
{
StrvBuilder builder = new StrvBuilder ();
builder.add ("phosh-quick-setting-widget");
return builder.end ();
}