Skip to content

Commit 1c91f7d

Browse files
authored
SourceRow: cleanup (#852)
1 parent 66634a4 commit 1c91f7d

1 file changed

Lines changed: 70 additions & 73 deletions

File tree

src/Widgets/SourceRow.vala

Lines changed: 70 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,6 @@
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

Comments
 (0)