diff --git a/src/Widgets/SourceRow.vala b/src/Widgets/SourceRow.vala index 24f33cb51..8721c39af 100644 --- a/src/Widgets/SourceRow.vala +++ b/src/Widgets/SourceRow.vala @@ -1,19 +1,6 @@ -// -*- Mode: vala; indent-tabs-mode: nil; tab-width: 4 -*- -/*- - * Copyright (c) 2013-2015 Maya Developers (http://launchpad.net/maya) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . +/* + * SPDX-License-Identifier: GPL-3.0-or-later + * SPDX-FileCopyrightText: 2013-2025 elementary, Inc. (https://elementary.io) * * Authored by: Corentin Noël */ @@ -27,7 +14,7 @@ public class Calendar.SourceRow : Gtk.ListBoxRow { public E.Source source { public get; private set; } private Gtk.Stack stack; - private Gtk.Grid info_grid; + private Gtk.Box info_box; private Gtk.Button delete_button; private Gtk.Revealer delete_revealer; @@ -44,15 +31,18 @@ public class Calendar.SourceRow : Gtk.ListBoxRow { // Source widget E.SourceCalendar cal = (E.SourceCalendar)source.get_extension (E.SOURCE_EXTENSION_CALENDAR); - calendar_name_label = new Gtk.Label (source.dup_display_name ()); - calendar_name_label.xalign = 0; - calendar_name_label.hexpand = true; + calendar_name_label = new Gtk.Label (source.dup_display_name ()) { + hexpand = true, + xalign = 0 + }; label = source.dup_display_name (); location = Maya.Util.get_source_location (source); - visible_checkbutton = new Gtk.CheckButton (); - visible_checkbutton.active = cal.selected; + visible_checkbutton = new Gtk.CheckButton () { + active = cal.selected + }; + visible_checkbutton.toggled.connect (() => { var calmodel = Calendar.EventStore.get_default (); if (visible_checkbutton.active == true) { @@ -71,64 +61,70 @@ public class Calendar.SourceRow : Gtk.ListBoxRow { style_calendar_color (cal.dup_color ()); - delete_button = new Gtk.Button.from_icon_name ("edit-delete-symbolic", Gtk.IconSize.MENU); - delete_button.tooltip_text = source.removable ? _("Remove") : _("Not Removable"); - delete_button.relief = Gtk.ReliefStyle.NONE; - delete_button.sensitive = source.removable; + delete_button = new Gtk.Button.from_icon_name ("edit-delete-symbolic", MENU) { + relief = NONE, + sensitive = source.removable, + tooltip_text = source.removable ? _("Remove") : _("Not Removable") + }; delete_button.get_style_context ().add_class (Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION); - delete_revealer = new Gtk.Revealer (); - delete_revealer.transition_type = Gtk.RevealerTransitionType.CROSSFADE; - delete_revealer.add (delete_button); - delete_revealer.show_all (); - delete_revealer.set_reveal_child (false); - - edit_button = new Gtk.Button.from_icon_name ("edit-symbolic", Gtk.IconSize.MENU); - edit_button.tooltip_text = source.writable ? _("Edit…"): _("Not Editable"); - edit_button.relief = Gtk.ReliefStyle.NONE; - edit_button.sensitive = source.writable; - - edit_revealer = new Gtk.Revealer (); - edit_revealer.transition_type = Gtk.RevealerTransitionType.CROSSFADE; - edit_revealer.add (edit_button); - edit_revealer.show_all (); - edit_revealer.set_reveal_child (false); - - var calendar_grid = new Gtk.Grid (); - calendar_grid.column_spacing = 6; - calendar_grid.margin_start = 8; - calendar_grid.margin_end = 6; - calendar_grid.attach (visible_checkbutton, 0, 0, 1, 1); - calendar_grid.attach (calendar_name_label, 2, 0, 1, 1); - calendar_grid.attach (delete_revealer, 3, 0, 1, 1); - calendar_grid.attach (edit_revealer, 4, 0, 1, 1); + delete_revealer = new Gtk.Revealer () { + child = delete_button, + reveal_child = false, + transition_type = CROSSFADE + }; + + edit_button = new Gtk.Button.from_icon_name ("edit-symbolic", MENU) { + relief = NONE, + sensitive = source.writable, + tooltip_text = source.writable ? _("Edit…"): _("Not Editable") + }; + + edit_revealer = new Gtk.Revealer () { + child = edit_button, + reveal_child = false, + transition_type = CROSSFADE + }; + + var calendar_box = new Gtk.Box (HORIZONTAL, 6) { + margin_top = 3, + margin_end = 12, + margin_bottom = 3, + margin_start = 12 + }; + calendar_box.add (visible_checkbutton); + calendar_box.add (calendar_name_label); + calendar_box.add (delete_revealer); + calendar_box.add (edit_revealer); var calendar_event_box = new Gtk.EventBox (); - calendar_event_box.add (calendar_grid); + calendar_event_box.add (calendar_box); calendar_event_box.show (); - var undo_button = new Gtk.Button.with_label (_("Undo")); - undo_button.margin_end = 6; + var undo_button = new Gtk.Button.with_label (_("Undo")) { + margin_end = 6 + }; - var close_button = new Gtk.Button.from_icon_name ("process-stop-symbolic", Gtk.IconSize.SMALL_TOOLBAR); - close_button.relief = Gtk.ReliefStyle.NONE; + var close_button = new Gtk.Button.from_icon_name ("process-stop-symbolic", SMALL_TOOLBAR) { + relief = NONE + }; - message_label = new Gtk.Label (_("\"%s\" removed").printf (source.display_name)); - message_label.hexpand = true; - message_label.xalign = 0.0f; + message_label = new Gtk.Label (_("\"%s\" removed").printf (source.display_name)) { + hexpand = true, + xalign = 0 + }; - info_grid = new Gtk.Grid (); - info_grid.column_spacing = 12; - info_grid.row_spacing = 6; - info_grid.add (close_button); - info_grid.add (message_label); - info_grid.add (undo_button); + info_box = new Gtk.Box (HORIZONTAL, 12); + info_box.add (close_button); + info_box.add (message_label); + info_box.add (undo_button); - stack = new Gtk.Stack (); - stack.transition_type = Gtk.StackTransitionType.OVER_RIGHT_LEFT; - stack.add_named (info_grid, "info"); - stack.add_named (calendar_event_box, "calendar"); - stack.visible_child_name = "calendar"; + stack = new Gtk.Stack () { + transition_type = OVER_RIGHT_LEFT + }; + stack.add (info_box); + stack.add (calendar_event_box); + stack.visible_child = calendar_event_box; add (stack); @@ -143,7 +139,7 @@ public class Calendar.SourceRow : Gtk.ListBoxRow { undo_button.clicked.connect (() => { Calendar.EventStore.get_default ().restore_calendar (); - stack.set_visible_child_name ("calendar"); + stack.visible_child = calendar_event_box; }); calendar_event_box.add_events (Gdk.EventMask.ENTER_NOTIFY_MASK | Gdk.EventMask.LEAVE_NOTIFY_MASK); @@ -154,8 +150,9 @@ public class Calendar.SourceRow : Gtk.ListBoxRow { }); calendar_event_box.leave_notify_event.connect ((event) => { - if (event.detail == Gdk.NotifyType.INFERIOR) + if (event.detail == Gdk.NotifyType.INFERIOR) { return false; + } delete_revealer.set_reveal_child (false); edit_revealer.set_reveal_child (false); @@ -190,6 +187,6 @@ public class Calendar.SourceRow : Gtk.ListBoxRow { } public void show_calendar_removed () { - stack.set_visible_child_name ("info"); + stack.visible_child = info_box; } }