Merge lp:~elementary-apps/appcenter/main-window-cleanups into lp:~elementary-apps/appcenter/appcenter

Proposed by Danielle Foré
Status: Merged
Approved by: Cody Garver
Approved revision: 229
Merged at revision: 233
Proposed branch: lp:~elementary-apps/appcenter/main-window-cleanups
Merge into: lp:~elementary-apps/appcenter/appcenter
Diff against target: 222 lines (+64/-80)
1 file modified
src/MainWindow.vala (+64/-80)
To merge this branch: bzr merge lp:~elementary-apps/appcenter/main-window-cleanups
Reviewer Review Type Date Requested Status
Adam Bieńkowski (community) code / testing Approve
Review via email: mp+298590@code.launchpad.net

Commit message

MainWindow.vala:
* Rename view_revealer to view_mode_revealer for clarity
* Remove unused featured_view
* code style
* Don't connect signals in construct
* Organize items in construct
* Don't set properties unecessarily
* Reveal view_mode instead of set sensitive

To post a comment you must log in.
Revision history for this message
Adam Bieńkowski (donadigo) wrote :

Looks & works well.

review: Approve (code / testing)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/MainWindow.vala'
2--- src/MainWindow.vala 2016-06-26 10:33:34 +0000
3+++ src/MainWindow.vala 2016-06-29 01:20:54 +0000
4@@ -15,13 +15,12 @@
5 */
6
7 public class AppCenter.MainWindow : Gtk.ApplicationWindow {
8- private Gtk.Revealer view_revealer;
9+ private Gtk.Revealer view_mode_revealer;
10 private Granite.Widgets.ModeButton view_mode;
11 private Gtk.HeaderBar headerbar;
12 private Gtk.Stack stack;
13 private Gtk.SearchEntry search_entry;
14 private Views.CategoryView category_view;
15- private Views.FeaturedView featured_view;
16 private Views.SearchView search_view;
17 private Gtk.Button return_button;
18 private ulong task_finished_connection = 0U;
19@@ -47,95 +46,85 @@
20 }
21
22 view_mode.selected = 0;
23- stack.set_visible_child (category_view);
24 search_entry.grab_focus_without_selecting ();
25
26 var go_back = new SimpleAction ("go-back", null);
27 go_back.activate.connect (view_return);
28 add_action (go_back);
29 app.set_accels_for_action ("win.go-back", {"<Alt>Left"});
30+
31+ search_entry.search_changed.connect (() => trigger_search ());
32+
33+ view_mode.notify["selected"].connect (() => {
34+ switch (view_mode.selected) {
35+ case 0:
36+ stack.set_visible_child (category_view);
37+ break;
38+ default:
39+ stack.set_visible_child (installed_view);
40+ break;
41+ }
42+ });
43+
44+ search_entry.key_press_event.connect ((event) => {
45+ if (event.keyval == Gdk.Key.Escape) {
46+ search_entry.text = "";
47+ return true;
48+ }
49+
50+ return false;
51+ });
52+
53+ return_button.clicked.connect (view_return);
54+
55+ installed_view.get_apps.begin ();
56+
57+ category_view.subview_entered.connect (view_opened);
58+ installed_view.subview_entered.connect (view_opened);
59+ search_view.subview_entered.connect (view_opened);
60 }
61
62 construct {
63+ icon_name = "system-software-installer";
64+ title = _("AppCenter");
65 window_position = Gtk.WindowPosition.CENTER;
66- title = _("AppCenter");
67- icon_name = "system-software-installer";
68+
69+ return_button = new Gtk.Button ();
70+ return_button.no_show_all = true;
71+ return_button.get_style_context ().add_class ("back-button");
72+
73+ view_mode = new Granite.Widgets.ModeButton ();
74+ view_mode.append_text (_("Categories"));
75+ view_mode.append_text (C_("view", "Updates"));
76+
77+ view_mode_revealer = new Gtk.Revealer ();
78+ view_mode_revealer.reveal_child = true;
79+ view_mode_revealer.transition_type = Gtk.RevealerTransitionType.CROSSFADE;
80+ view_mode_revealer.add (view_mode);
81+
82+ search_entry = new Gtk.SearchEntry ();
83+ search_entry.placeholder_text = _("Search Apps");
84
85 /* HeaderBar */
86 headerbar = new Gtk.HeaderBar ();
87 headerbar.show_close_button = true;
88- set_titlebar (headerbar);
89-
90- return_button = new Gtk.Button ();
91- return_button.no_show_all = true;
92- return_button.get_style_context ().add_class ("back-button");
93- return_button.clicked.connect (view_return);
94+ headerbar.set_custom_title (view_mode_revealer);
95 headerbar.pack_start (return_button);
96-
97- view_mode = new Granite.Widgets.ModeButton ();
98-
99- view_revealer = new Gtk.Revealer ();
100- view_revealer.set_reveal_child (false);
101- view_revealer.transition_type = Gtk.RevealerTransitionType.CROSSFADE;
102- view_revealer.add (view_mode);
103-
104- search_entry = new Gtk.SearchEntry ();
105- search_entry.placeholder_text = _("Search App");
106- search_entry.search_changed.connect (() => trigger_search ());
107-
108- headerbar.set_custom_title (view_revealer);
109 headerbar.pack_end (search_entry);
110
111- view_mode.notify["selected"].connect (() => {
112- switch (view_mode.selected) {
113- /*case 0:
114- stack.set_visible_child (featured_view);
115- break;*/
116- case 0:
117- stack.set_visible_child (category_view);
118- break;
119- default:
120- stack.set_visible_child (installed_view);
121- break;
122- }
123- });
124-
125- /* The views */
126- stack = new Gtk.Stack ();
127- stack.transition_type = Gtk.StackTransitionType.SLIDE_LEFT_RIGHT;
128- stack.expand = true;
129-
130- featured_view = new Views.FeaturedView ();
131+ set_titlebar (headerbar);
132+
133 category_view = new Views.CategoryView ();
134 installed_view = new Views.InstalledView ();
135 search_view = new Views.SearchView ();
136- //stack.add (featured_view);
137+
138+ stack = new Gtk.Stack ();
139+ stack.transition_type = Gtk.StackTransitionType.SLIDE_LEFT_RIGHT;
140 stack.add (category_view);
141 stack.add (installed_view);
142 stack.add (search_view);
143+
144 add (stack);
145-
146- //TODO: uncomment it once we get some information to display
147- //view_mode.append_text (_("Featured"));
148- view_mode.append_text (_("Categories"));
149- view_mode.append_text (C_("view", "Updates"));
150- view_revealer.set_reveal_child (true);
151- installed_view.get_apps.begin ();
152-
153- category_view.subview_entered.connect (view_opened);
154- installed_view.subview_entered.connect (view_opened);
155- search_view.subview_entered.connect (view_opened);
156-
157- search_entry.key_press_event.connect ((event) => {
158- if (event.keyval == Gdk.Key.Escape) {
159- search_entry.text = "";
160- return true;
161- }
162-
163- return false;
164- });
165-
166- set_size_request (750, 550);
167 }
168
169 public override bool delete_event (Gdk.EventAny event) {
170@@ -172,31 +161,26 @@
171 }
172
173 public void go_to_installed () {
174- if (view_mode.sensitive) {
175- view_mode.selected = 1;
176- }
177+ view_mode.selected = 1;
178 }
179
180 private void trigger_search () {
181 unowned string research = search_entry.text;
182 if (research.length < 2) {
183- view_revealer.set_reveal_child (true);
184+ view_mode_revealer.reveal_child = true;
185 switch (view_mode.selected) {
186- /*case 0:
187- stack.set_visible_child (featured_view);
188- break;*/
189 case 0:
190- stack.set_visible_child (category_view);
191+ stack.visible_child = category_view;
192 break;
193 default:
194- stack.set_visible_child (installed_view);
195+ stack.visible_child = installed_view;
196 break;
197 }
198 } else {
199 search_view.search (research);
200 if (!return_button.visible) {
201- view_revealer.set_reveal_child (false);
202- stack.set_visible_child (search_view);
203+ view_mode_revealer.reveal_child = false;
204+ stack.visible_child = search_view;
205 }
206 }
207 }
208@@ -206,12 +190,12 @@
209 return_button.no_show_all = false;
210 return_button.show_all ();
211
212- view_mode.sensitive = false;
213+ view_mode_revealer.reveal_child = false;
214 search_entry.sensitive = false;
215 }
216
217 private void view_return () {
218- view_mode.sensitive = true;
219+ view_mode_revealer.reveal_child = true;
220 search_entry.sensitive = true;
221 search_entry.grab_focus_without_selecting ();
222 return_button.no_show_all = true;

Subscribers

People subscribed via source and target branches

to all changes: