usage: Port to GTK4
This commit is contained in:
parent
696ed350bb
commit
2d762680d2
4 changed files with 81 additions and 78 deletions
|
@ -26,7 +26,7 @@ panels = [
|
|||
# 'sharing',
|
||||
'sound',
|
||||
'universal-access',
|
||||
# 'usage',
|
||||
'usage',
|
||||
# 'user-accounts',
|
||||
# 'wwan',
|
||||
]
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
* Author: Matthias Clasen <mclasen@redhat.com>
|
||||
*/
|
||||
|
||||
#include "list-box-helper.h"
|
||||
#include "cc-usage-panel.h"
|
||||
#include "cc-usage-resources.h"
|
||||
#include "cc-util.h"
|
||||
|
@ -108,7 +107,7 @@ set_purge_after_value_for_combo (GtkComboBox *combo_box,
|
|||
gtk_combo_box_set_active (combo_box, i - 1);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
static GtkDialog *
|
||||
run_warning (CcUsagePanel *self,
|
||||
const gchar *prompt,
|
||||
const gchar *text,
|
||||
|
@ -117,12 +116,13 @@ run_warning (CcUsagePanel *self,
|
|||
GtkWindow *parent;
|
||||
GtkWidget *dialog;
|
||||
GtkWidget *button;
|
||||
int result;
|
||||
CcShell *shell;
|
||||
|
||||
parent = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self)));
|
||||
shell = cc_panel_get_shell (CC_PANEL (self));
|
||||
parent = GTK_WINDOW (cc_shell_get_toplevel (shell));
|
||||
|
||||
dialog = gtk_message_dialog_new (parent,
|
||||
0,
|
||||
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_WARNING,
|
||||
GTK_BUTTONS_NONE,
|
||||
NULL);
|
||||
|
@ -138,25 +138,20 @@ run_warning (CcUsagePanel *self,
|
|||
button = gtk_dialog_get_widget_for_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
|
||||
gtk_style_context_add_class (gtk_widget_get_style_context (button), "destructive-action");
|
||||
|
||||
result = gtk_dialog_run (GTK_DIALOG (dialog));
|
||||
gtk_widget_destroy (dialog);
|
||||
gtk_window_present (GTK_WINDOW (dialog));
|
||||
|
||||
return result == GTK_RESPONSE_OK;
|
||||
return GTK_DIALOG (dialog);
|
||||
}
|
||||
|
||||
static void
|
||||
empty_trash (CcUsagePanel *self)
|
||||
on_empty_trash_warning_response_cb (GtkDialog *dialog,
|
||||
gint response,
|
||||
CcUsagePanel *self)
|
||||
{
|
||||
g_autoptr(GDBusConnection) bus = NULL;
|
||||
gboolean result;
|
||||
|
||||
result = run_warning (self,
|
||||
_("Empty all items from Trash?"),
|
||||
_("All items in the Trash will be permanently deleted."),
|
||||
_("_Empty Trash"));
|
||||
|
||||
if (!result)
|
||||
return;
|
||||
if (response != GTK_RESPONSE_OK)
|
||||
goto out;
|
||||
|
||||
bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL);
|
||||
g_dbus_connection_call (bus,
|
||||
|
@ -165,21 +160,37 @@ empty_trash (CcUsagePanel *self)
|
|||
"org.gnome.SettingsDaemon.Housekeeping",
|
||||
"EmptyTrash",
|
||||
NULL, NULL, 0, -1, NULL, NULL, NULL);
|
||||
|
||||
out:
|
||||
gtk_window_destroy (GTK_WINDOW (dialog));
|
||||
}
|
||||
|
||||
static void
|
||||
purge_temp (CcUsagePanel *self)
|
||||
empty_trash (CcUsagePanel *self)
|
||||
{
|
||||
GtkDialog *dialog;
|
||||
|
||||
dialog = run_warning (self,
|
||||
_("Empty all items from Trash?"),
|
||||
_("All items in the Trash will be permanently deleted."),
|
||||
_("_Empty Trash"));
|
||||
|
||||
g_signal_connect_object (dialog,
|
||||
"response",
|
||||
G_CALLBACK (on_empty_trash_warning_response_cb),
|
||||
self,
|
||||
0);
|
||||
}
|
||||
|
||||
static void
|
||||
on_purge_temp_warning_response_cb (GtkDialog *dialog,
|
||||
gint response,
|
||||
CcUsagePanel *self)
|
||||
{
|
||||
g_autoptr(GDBusConnection) bus = NULL;
|
||||
gboolean result;
|
||||
|
||||
result = run_warning (self,
|
||||
_("Delete all the temporary files?"),
|
||||
_("All the temporary files will be permanently deleted."),
|
||||
_("_Purge Temporary Files"));
|
||||
|
||||
if (!result)
|
||||
return;
|
||||
if (response != GTK_RESPONSE_OK)
|
||||
goto out;
|
||||
|
||||
bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL);
|
||||
g_dbus_connection_call (bus,
|
||||
|
@ -188,6 +199,25 @@ purge_temp (CcUsagePanel *self)
|
|||
"org.gnome.SettingsDaemon.Housekeeping",
|
||||
"RemoveTempFiles",
|
||||
NULL, NULL, 0, -1, NULL, NULL, NULL);
|
||||
|
||||
out:
|
||||
gtk_window_destroy (GTK_WINDOW (dialog));
|
||||
}
|
||||
static void
|
||||
purge_temp (CcUsagePanel *self)
|
||||
{
|
||||
GtkDialog *dialog;
|
||||
|
||||
dialog = run_warning (self,
|
||||
_("Delete all the temporary files?"),
|
||||
_("All the temporary files will be permanently deleted."),
|
||||
_("_Purge Temporary Files"));
|
||||
|
||||
g_signal_connect_object (dialog,
|
||||
"response",
|
||||
G_CALLBACK (on_purge_temp_warning_response_cb),
|
||||
self,
|
||||
0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -264,14 +294,6 @@ cc_usage_panel_init (CcUsagePanel *self)
|
|||
|
||||
gtk_widget_init_template (GTK_WIDGET (self));
|
||||
|
||||
gtk_list_box_set_header_func (self->usage_list_box,
|
||||
cc_list_box_update_header_func,
|
||||
NULL, NULL);
|
||||
|
||||
gtk_list_box_set_header_func (self->trash_list_box,
|
||||
cc_list_box_update_header_func,
|
||||
NULL, NULL);
|
||||
|
||||
self->privacy_settings = g_settings_new ("org.gnome.desktop.privacy");
|
||||
|
||||
g_settings_bind (self->privacy_settings,
|
||||
|
|
|
@ -2,14 +2,11 @@
|
|||
<!-- Generated with glade 3.18.1 -->
|
||||
<interface>
|
||||
<template class="CcUsagePanel" parent="CcPanel">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow">
|
||||
<property name="visible">true</property>
|
||||
<property name="hscrollbar-policy">never</property>
|
||||
<child>
|
||||
<object class="HdyClamp">
|
||||
<property name="visible">True</property>
|
||||
<object class="AdwClamp">
|
||||
<property name="margin_top">32</property>
|
||||
<property name="margin_bottom">32</property>
|
||||
<property name="margin_start">12</property>
|
||||
|
@ -18,14 +15,12 @@
|
|||
<!-- File History -->
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">true</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="hexpand">1</property>
|
||||
<property name="spacing">12</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">true</property>
|
||||
<property name="label" translatable="yes">File History</property>
|
||||
<property name="xalign">0</property>
|
||||
<attributes>
|
||||
|
@ -36,7 +31,6 @@
|
|||
|
||||
<child>
|
||||
<object class="GtkLabel" id="usage_description_label">
|
||||
<property name="visible">true</property>
|
||||
<property name="margin-bottom">12</property>
|
||||
<property name="label" translatable="yes">File history keeps a record of files that you have used. This information is shared between applications, and makes it easier to find files that you might want to use.</property>
|
||||
<property name="wrap">1</property>
|
||||
|
@ -47,18 +41,18 @@
|
|||
|
||||
<child>
|
||||
<object class="GtkListBox" id="usage_list_box">
|
||||
<property name="visible">true</property>
|
||||
<property name="can-focus">1</property>
|
||||
<property name="selection-mode">none</property>
|
||||
<style>
|
||||
<class name="content" />
|
||||
</style>
|
||||
<child>
|
||||
<object class="HdyActionRow">
|
||||
<property name="visible">true</property>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">File H_istory</property>
|
||||
<property name="activatable-widget">recently_used_switch</property>
|
||||
<property name="use-underline">true</property>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="recently_used_switch">
|
||||
<property name="visible">true</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
|
@ -67,28 +61,26 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="visible">true</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">true</property>
|
||||
<property name="margin">12</property>
|
||||
<property name="margin-top">12</property>
|
||||
<property name="margin-bottom">12</property>
|
||||
<property name="margin-start">12</property>
|
||||
<property name="margin-end">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">true</property>
|
||||
<property name="label" translatable="yes">File _History Duration</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="use_underline">1</property>
|
||||
<property name="mnemonic_widget">retain_history_combo</property>
|
||||
<property name="sensitive" bind-source="retain_history_combo" bind-property="sensitive"/>
|
||||
<property name="xalign">0</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBoxText" id="retain_history_combo">
|
||||
<property name="visible">true</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="entry_text_column">0</property>
|
||||
<property name="model">retain_history_model</property>
|
||||
|
@ -107,14 +99,12 @@
|
|||
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">true</property>
|
||||
<property name="hexpand">true</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="homogeneous">true</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="clear_recent_button">
|
||||
<property name="visible">true</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="label" translatable="yes">_Clear History…</property>
|
||||
<property name="use_underline">1</property>
|
||||
|
@ -130,7 +120,6 @@
|
|||
<!-- Trash & Temporary Files -->
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">true</property>
|
||||
<property name="margin-top">18</property>
|
||||
<property name="label" translatable="yes">Trash & Temporary Files</property>
|
||||
<property name="xalign">0</property>
|
||||
|
@ -141,7 +130,6 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">true</property>
|
||||
<property name="label" translatable="yes">Trash and temporary files can sometimes include personal or sensitive information. Automatically deleting them can help to protect privacy.</property>
|
||||
<property name="wrap">1</property>
|
||||
<property name="max-width-chars">50</property>
|
||||
|
@ -150,18 +138,18 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkListBox" id="trash_list_box">
|
||||
<property name="visible">true</property>
|
||||
<property name="can-focus">1</property>
|
||||
<property name="selection-mode">none</property>
|
||||
<style>
|
||||
<class name="content" />
|
||||
</style>
|
||||
<child>
|
||||
<object class="HdyActionRow">
|
||||
<property name="visible">true</property>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Automatically Delete _Trash Content</property>
|
||||
<property name="activatable-widget">purge_trash_switch</property>
|
||||
<property name="use-underline">true</property>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="purge_trash_switch">
|
||||
<property name="visible">true</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
|
@ -169,14 +157,12 @@
|
|||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HdyActionRow">
|
||||
<property name="visible">true</property>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Automatically Delete Temporary _Files</property>
|
||||
<property name="activatable-widget">purge_temp_switch</property>
|
||||
<property name="use-underline">true</property>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="purge_temp_switch">
|
||||
<property name="visible">true</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
|
@ -185,28 +171,26 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="visible">true</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">true</property>
|
||||
<property name="margin">12</property>
|
||||
<property name="margin-top">12</property>
|
||||
<property name="margin-bottom">12</property>
|
||||
<property name="margin-start">12</property>
|
||||
<property name="margin-end">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">true</property>
|
||||
<property name="label" translatable="yes">Automatically Delete _Period</property>
|
||||
<property name="use_underline">1</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="mnemonic_widget">purge_after_combo</property>
|
||||
<property name="sensitive" bind-source="purge_after_combo" bind-property="sensitive"/>
|
||||
<property name="xalign">0</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBoxText" id="purge_after_combo">
|
||||
<property name="visible">true</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="entry_text_column">0</property>
|
||||
<property name="model">purge_after_model</property>
|
||||
|
@ -225,14 +209,12 @@
|
|||
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">true</property>
|
||||
<property name="hexpand">true</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="homogeneous">true</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="purge_trash_button">
|
||||
<property name="visible">true</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="label" translatable="yes">_Empty Trash…</property>
|
||||
|
@ -244,7 +226,6 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="purge_temp_button">
|
||||
<property name="visible">true</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="label" translatable="yes">_Delete Temporary Files…</property>
|
||||
|
|
|
@ -71,7 +71,7 @@ extern GType cc_ua_panel_get_type (void);
|
|||
extern GType cc_location_panel_get_type (void);
|
||||
extern GType cc_camera_panel_get_type (void);
|
||||
extern GType cc_microphone_panel_get_type (void);
|
||||
//extern GType cc_usage_panel_get_type (void);
|
||||
extern GType cc_usage_panel_get_type (void);
|
||||
extern GType cc_lock_panel_get_type (void);
|
||||
//extern GType cc_diagnostics_panel_get_type (void);
|
||||
|
||||
|
@ -132,7 +132,7 @@ static CcPanelLoaderVtable default_panels[] =
|
|||
//PANEL_TYPE("thunderbolt", cc_bolt_panel_get_type, NULL),
|
||||
#endif
|
||||
PANEL_TYPE("universal-access", cc_ua_panel_get_type, NULL),
|
||||
//PANEL_TYPE("usage", cc_usage_panel_get_type, NULL),
|
||||
PANEL_TYPE("usage", cc_usage_panel_get_type, NULL),
|
||||
//PANEL_TYPE("user-accounts", cc_user_panel_get_type, NULL),
|
||||
#ifdef BUILD_WACOM
|
||||
//PANEL_TYPE("wacom", cc_wacom_panel_get_type, cc_wacom_panel_static_init_func),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue