1- // -*- Mode: vala; indent-tabs-mode: nil; tab-width: 4 -*-
2- /* -
3- * Copyright (c) 2013-2015 Maya Developers (http://launchpad.net/maya)
4- *
5- * This program is free software: you can redistribute it and/or modify
6- * it under the terms of the GNU General Public License as published by
7- * the Free Software Foundation, either version 3 of the License, or
8- * (at your option) any later version.
9- *
10- * This program is distributed in the hope that it will be useful,
11- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13- * GNU General Public License for more details.
14- *
15- * You should have received a copy of the GNU General Public License
16- * along with this program. If not, see <http://www.gnu.org/licenses/>.
1+ /*
2+ * SPDX-License-Identifier: GPL-3.0-or-later
3+ * SPDX-FileCopyrightText: 2013-2025 elementary, Inc. (https://elementary.io)
174 *
185 * Authored by: Corentin Noël <corentin@elementaryos.org>
196 */
@@ -27,7 +14,7 @@ public class Calendar.SourceRow : Gtk.ListBoxRow {
2714 public E . Source source { public get ; private set ; }
2815
2916 private Gtk . Stack stack;
30- private Gtk . Grid info_grid ;
17+ private Gtk . Box info_box ;
3118
3219 private Gtk . Button delete_button;
3320 private Gtk . Revealer delete_revealer;
@@ -44,15 +31,18 @@ public class Calendar.SourceRow : Gtk.ListBoxRow {
4431 // Source widget
4532 E . SourceCalendar cal = (E . SourceCalendar )source. get_extension (E . SOURCE_EXTENSION_CALENDAR );
4633
47- calendar_name_label = new Gtk .Label (source. dup_display_name ());
48- calendar_name_label. xalign = 0 ;
49- calendar_name_label. hexpand = true ;
34+ calendar_name_label = new Gtk .Label (source. dup_display_name ()) {
35+ hexpand = true ,
36+ xalign = 0
37+ };
5038
5139 label = source. dup_display_name ();
5240 location = Maya . Util . get_source_location (source);
5341
54- visible_checkbutton = new Gtk .CheckButton ();
55- visible_checkbutton. active = cal. selected;
42+ visible_checkbutton = new Gtk .CheckButton () {
43+ active = cal. selected
44+ };
45+
5646 visible_checkbutton. toggled. connect (() = > {
5747 var calmodel = Calendar . EventStore . get_default ();
5848 if (visible_checkbutton. active == true ) {
@@ -71,64 +61,70 @@ public class Calendar.SourceRow : Gtk.ListBoxRow {
7161
7262 style_calendar_color (cal. dup_color ());
7363
74- delete_button = new Gtk .Button .from_icon_name (" edit-delete-symbolic" , Gtk . IconSize . MENU );
75- delete_button. tooltip_text = source. removable ? _(" Remove" ) : _(" Not Removable" );
76- delete_button. relief = Gtk . ReliefStyle . NONE ;
77- delete_button. sensitive = source. removable;
64+ delete_button = new Gtk .Button .from_icon_name (" edit-delete-symbolic" , MENU ) {
65+ relief = NONE ,
66+ sensitive = source. removable,
67+ tooltip_text = source.removable ? _ ("Remove ") : _ ("Not Removable ")
68+ };
7869 delete_button.get_style_context ().add_class (Gtk .STYLE_CLASS_DESTRUCTIVE_ACTION );
7970
80- delete_revealer = new Gtk .Revealer ();
81- delete_revealer. transition_type = Gtk . RevealerTransitionType . CROSSFADE ;
82- delete_revealer. add (delete_button);
83- delete_revealer. show_all ();
84- delete_revealer. set_reveal_child (false );
85-
86- edit_button = new Gtk .Button .from_icon_name (" edit-symbolic" , Gtk . IconSize . MENU );
87- edit_button. tooltip_text = source. writable ? _(" Edit…" ): _(" Not Editable" );
88- edit_button. relief = Gtk . ReliefStyle . NONE ;
89- edit_button. sensitive = source. writable;
90-
91- edit_revealer = new Gtk .Revealer ();
92- edit_revealer. transition_type = Gtk . RevealerTransitionType . CROSSFADE ;
93- edit_revealer. add (edit_button);
94- edit_revealer. show_all ();
95- edit_revealer. set_reveal_child (false );
96-
97- var calendar_grid = new Gtk .Grid ();
98- calendar_grid. column_spacing = 6 ;
99- calendar_grid. margin_start = 8 ;
100- calendar_grid. margin_end = 6 ;
101- calendar_grid. attach (visible_checkbutton, 0 , 0 , 1 , 1 );
102- calendar_grid. attach (calendar_name_label, 2 , 0 , 1 , 1 );
103- calendar_grid. attach (delete_revealer, 3 , 0 , 1 , 1 );
104- calendar_grid. attach (edit_revealer, 4 , 0 , 1 , 1 );
71+ delete_revealer = new Gtk .Revealer () {
72+ child = delete_button,
73+ reveal_child = false ,
74+ transition_type = CROSSFADE
75+ };
76+
77+ edit_button = new Gtk .Button .from_icon_name (" edit-symbolic" , MENU ) {
78+ relief = NONE ,
79+ sensitive = source. writable,
80+ tooltip_text = source.writable ? _ ("Edit …"): _ ("Not Editable ")
81+ };
82+
83+ edit_revealer = new Gtk .Revealer () {
84+ child = edit_button,
85+ reveal_child = false ,
86+ transition_type = CROSSFADE
87+ };
88+
89+ var calendar_box = new Gtk .Box (HORIZONTAL , 6 ) {
90+ margin_top = 3 ,
91+ margin_end = 12 ,
92+ margin_bottom = 3 ,
93+ margin_start = 12
94+ };
95+ calendar_box.add (visible_checkbutton );
96+ calendar_box.add (calendar_name_label );
97+ calendar_box.add (delete_revealer );
98+ calendar_box.add (edit_revealer );
10599
106100 var calendar_event_box = new Gtk .EventBox ();
107- calendar_event_box. add (calendar_grid );
101+ calendar_event_box.add (calendar_box );
108102 calendar_event_box.show ();
109103
110- var undo_button = new Gtk .Button .with_label (_(" Undo" ));
111- undo_button. margin_end = 6 ;
104+ var undo_button = new Gtk .Button .with_label (_(" Undo" )) {
105+ margin_end = 6
106+ };
112107
113- var close_button = new Gtk .Button .from_icon_name (" process-stop-symbolic" , Gtk . IconSize . SMALL_TOOLBAR );
114- close_button. relief = Gtk . ReliefStyle . NONE ;
108+ var close_button = new Gtk .Button .from_icon_name (" process-stop-symbolic" , SMALL_TOOLBAR ) {
109+ relief = NONE
110+ };
115111
116- message_label = new Gtk .Label (_(" \"%s\" removed" ). printf (source. display_name));
117- message_label. hexpand = true ;
118- message_label. xalign = 0.0f ;
112+ message_label = new Gtk .Label (_(" \"%s\" removed" ). printf (source. display_name)) {
113+ hexpand = true ,
114+ xalign = 0
115+ };
119116
120- info_grid = new Gtk .Grid ();
121- info_grid. column_spacing = 12 ;
122- info_grid. row_spacing = 6 ;
123- info_grid. add (close_button);
124- info_grid. add (message_label);
125- info_grid. add (undo_button);
117+ info_box = new Gtk .Box (HORIZONTAL , 12 );
118+ info_box.add (close_button );
119+ info_box.add (message_label );
120+ info_box.add (undo_button );
126121
127- stack = new Gtk .Stack ();
128- stack. transition_type = Gtk . StackTransitionType . OVER_RIGHT_LEFT ;
129- stack. add_named (info_grid, " info" );
130- stack. add_named (calendar_event_box, " calendar" );
131- stack. visible_child_name = " calendar" ;
122+ stack = new Gtk .Stack () {
123+ transition_type = OVER_RIGHT_LEFT
124+ };
125+ stack.add (info_box );
126+ stack.add (calendar_event_box );
127+ stack. visible_child = calendar_event_box;
132128
133129 add (stack );
134130
@@ -143,7 +139,7 @@ public class Calendar.SourceRow : Gtk.ListBoxRow {
143139
144140 undo_button.clicked.connect (() => {
145141 Calendar . EventStore . get_default (). restore_calendar ();
146- stack. set_visible_child_name ( " calendar " ) ;
142+ stack. visible_child = calendar_event_box ;
147143 });
148144
149145 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 {
154150 });
155151
156152 calendar_event_box.leave_notify_event.connect ((event ) => {
157- if (event. detail == Gdk . NotifyType . INFERIOR )
153+ if (event. detail == Gdk . NotifyType . INFERIOR ) {
158154 return false ;
155+ }
159156
160157 delete_revealer. set_reveal_child (false );
161158 edit_revealer. set_reveal_child (false );
@@ -190,6 +187,6 @@ public class Calendar.SourceRow : Gtk.ListBoxRow {
190187 }
191188
192189 public void show_calendar_removed () {
193- stack. set_visible_child_name ( " info " ) ;
190+ stack. visible_child = info_box ;
194191 }
195192}
0 commit comments