[gnome-break-timer] Use a bit field for PermissionsError
- From: Dylan McCall <dylanmccall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-break-timer] Use a bit field for PermissionsError
- Date: Mon, 23 Nov 2020 07:56:23 +0000 (UTC)
commit 3d116d3177f8283e50ce81bacbe62652b471ead2
Author: Dylan McCall <dylan dylanmccall ca>
Date: Sun Nov 22 23:55:50 2020 -0800
Use a bit field for PermissionsError
src/settings/BreakManager.vala | 17 +++++++++++------
src/settings/MainWindow.vala | 7 ++++---
2 files changed, 15 insertions(+), 9 deletions(-)
---
diff --git a/src/settings/BreakManager.vala b/src/settings/BreakManager.vala
index b395f2b..2ea406a 100644
--- a/src/settings/BreakManager.vala
+++ b/src/settings/BreakManager.vala
@@ -48,8 +48,9 @@ public class BreakManager : GLib.Object {
public signal void break_status_available ();
public signal void status_changed ();
+ [Flags]
public enum PermissionsError {
- NONE,
+ NONE = 0,
AUTOSTART_NOT_ALLOWED,
BACKGROUND_NOT_ALLOWED
}
@@ -190,14 +191,18 @@ public class BreakManager : GLib.Object {
bool background_allowed = (bool) results.get ("background");
bool autostart_allowed = (bool) results.get ("autostart");
+ PermissionsError new_permissions_error = NONE;
+
if (this.master_enabled && ! autostart_allowed) {
- this.permissions_error = AUTOSTART_NOT_ALLOWED;
- } else if (this.master_enabled && ! background_allowed) {
- this.permissions_error = BACKGROUND_NOT_ALLOWED;
- } else {
- this.permissions_error = NONE;
+ new_permissions_error |= AUTOSTART_NOT_ALLOWED;
}
+ if (this.master_enabled && ! background_allowed) {
+ new_permissions_error |= BACKGROUND_NOT_ALLOWED;
+ }
+
+ this.permissions_error = new_permissions_error;
+
this.background_request = null;
}
diff --git a/src/settings/MainWindow.vala b/src/settings/MainWindow.vala
index c4911fe..8d9291e 100644
--- a/src/settings/MainWindow.vala
+++ b/src/settings/MainWindow.vala
@@ -196,9 +196,10 @@ public class MainWindow : Gtk.ApplicationWindow, GLib.Initable {
}
private void on_break_manager_permissions_error_change () {
- BreakManager.PermissionsError error_type = this.break_manager.permissions_error;
- if (error_type == AUTOSTART_NOT_ALLOWED || error_type == BACKGROUND_NOT_ALLOWED) {
- MessageBar message_bar = new PermissionsErrorMessageBar (this, error_type);
+ if (this.break_manager.permissions_error != NONE) {
+ MessageBar message_bar = new PermissionsErrorMessageBar (
+ this, this.break_manager.permissions_error
+ );
this.show_message_bar ("permissions-error", message_bar);
} else {
this.hide_message_bar ("permissions-error");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]