Merge lp:~3v1n0/unity/session-keyselect-default-button into lp:unity

Proposed by Marco Trevisan (Treviño)
Status: Merged
Approved by: Andrea Azzarone
Approved revision: no longer in the source branch.
Merged at revision: 3236
Proposed branch: lp:~3v1n0/unity/session-keyselect-default-button
Merge into: lp:unity
Prerequisite: lp:~3v1n0/unity/session-shutdown-buttons-reorder
Diff against target: 119 lines (+13/-2)
5 files modified
shutdown/SessionController.cpp (+1/-1)
shutdown/SessionView.cpp (+5/-0)
shutdown/SessionView.h (+2/-0)
tests/test_session_controller.cpp (+1/-1)
tests/test_session_view.cpp (+4/-0)
To merge this branch: bzr merge lp:~3v1n0/unity/session-keyselect-default-button
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Andrea Azzarone (community) Approve
Review via email: mp+154135@code.launchpad.net

Commit message

SessionController: set the view's default action button as key-focus area on init

Description of the change

Adding a new parameter to the SessionView that defines the area to be key-focused on initialization.
And this will be the logout-button on logout and the shutdown-button on shutdown.

New tests added.

To post a comment you must log in.
Revision history for this message
Andrea Azzarone (azzar1) :
review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'shutdown/SessionController.cpp'
--- shutdown/SessionController.cpp 2013-03-07 22:42:29 +0000
+++ shutdown/SessionController.cpp 2013-03-19 16:19:27 +0000
@@ -107,7 +107,7 @@
107 view_window_->ShowWindow(true);107 view_window_->ShowWindow(true);
108 view_window_->PushToFront();108 view_window_->PushToFront();
109 view_window_->SetInputFocus();109 view_window_->SetInputFocus();
110 nux::GetWindowCompositor().SetKeyFocusArea(view_.GetPointer());110 nux::GetWindowCompositor().SetKeyFocusArea(view_->key_focus_area());
111111
112 if (fade_animator_.CurrentState() == na::Animation::State::Running)112 if (fade_animator_.CurrentState() == na::Animation::State::Running)
113 {113 {
114114
=== modified file 'shutdown/SessionView.cpp'
--- shutdown/SessionView.cpp 2013-03-19 16:19:27 +0000
+++ shutdown/SessionView.cpp 2013-03-19 16:19:27 +0000
@@ -47,7 +47,9 @@
4747
48View::View(Manager::Ptr const& manager)48View::View(Manager::Ptr const& manager)
49 : mode(Mode::FULL)49 : mode(Mode::FULL)
50 , key_focus_area([this] { return key_focus_area_; })
50 , manager_(manager)51 , manager_(manager)
52 , key_focus_area_(this)
51{53{
52 closable = true;54 closable = true;
53 auto main_layout = new nux::VLayout();55 auto main_layout = new nux::VLayout();
@@ -170,6 +172,7 @@
170{172{
171 debug::Introspectable::RemoveAllChildren();173 debug::Introspectable::RemoveAllChildren();
172 buttons_layout_->Clear();174 buttons_layout_->Clear();
175 key_focus_area_ = this;
173176
174 if (mode() == Mode::LOGOUT)177 if (mode() == Mode::LOGOUT)
175 {178 {
@@ -179,6 +182,7 @@
179182
180 button = new Button(Button::Action::LOGOUT, NUX_TRACKER_LOCATION);183 button = new Button(Button::Action::LOGOUT, NUX_TRACKER_LOCATION);
181 button->activated.connect(sigc::mem_fun(manager_.get(), &Manager::Logout));184 button->activated.connect(sigc::mem_fun(manager_.get(), &Manager::Logout));
185 key_focus_area_ = button;
182 AddButton(button);186 AddButton(button);
183 }187 }
184 else188 else
@@ -212,6 +216,7 @@
212216
213 button = new Button(Button::Action::SHUTDOWN, NUX_TRACKER_LOCATION);217 button = new Button(Button::Action::SHUTDOWN, NUX_TRACKER_LOCATION);
214 button->activated.connect(sigc::mem_fun(manager_.get(), &Manager::Shutdown));218 button->activated.connect(sigc::mem_fun(manager_.get(), &Manager::Shutdown));
219 key_focus_area_ = (mode() == Mode::SHUTDOWN) ? button : key_focus_area_;
215 AddButton(button);220 AddButton(button);
216 }221 }
217 else if (mode() == Mode::FULL)222 else if (mode() == Mode::FULL)
218223
=== modified file 'shutdown/SessionView.h'
--- shutdown/SessionView.h 2013-03-07 19:26:40 +0000
+++ shutdown/SessionView.h 2013-03-19 16:19:27 +0000
@@ -50,6 +50,7 @@
5050
51 nux::Property<Mode> mode;51 nux::Property<Mode> mode;
52 nux::Property<bool> have_inhibitors;52 nux::Property<bool> have_inhibitors;
53 nux::ROProperty<nux::InputArea*> key_focus_area;
5354
54 sigc::signal<void> request_hide;55 sigc::signal<void> request_hide;
5556
@@ -76,6 +77,7 @@
76 StaticCairoText* title_;77 StaticCairoText* title_;
77 StaticCairoText* subtitle_;78 StaticCairoText* subtitle_;
78 nux::HLayout* buttons_layout_;79 nux::HLayout* buttons_layout_;
80 nux::InputArea* key_focus_area_;
79};81};
8082
81} // namespace session83} // namespace session
8284
=== modified file 'tests/test_session_controller.cpp'
--- tests/test_session_controller.cpp 2013-03-07 22:42:29 +0000
+++ tests/test_session_controller.cpp 2013-03-19 16:19:27 +0000
@@ -70,7 +70,7 @@
70 controller.Show(GetParam());70 controller.Show(GetParam());
71 EXPECT_TRUE(controller.Visible());71 EXPECT_TRUE(controller.Visible());
72 EXPECT_EQ(controller.view_->mode(), GetParam());72 EXPECT_EQ(controller.view_->mode(), GetParam());
73 EXPECT_EQ(nux::GetWindowCompositor().GetKeyFocusArea(), controller.view_.GetPointer());73 EXPECT_EQ(nux::GetWindowCompositor().GetKeyFocusArea(), controller.view_->key_focus_area());
74 EXPECT_TRUE(controller.view_->live_background());74 EXPECT_TRUE(controller.view_->live_background());
75}75}
7676
7777
=== modified file 'tests/test_session_view.cpp'
--- tests/test_session_view.cpp 2013-03-19 16:19:27 +0000
+++ tests/test_session_view.cpp 2013-03-19 16:19:27 +0000
@@ -101,6 +101,7 @@
101 EXPECT_TRUE(view.closable());101 EXPECT_TRUE(view.closable());
102 EXPECT_FALSE(view.have_inhibitors());102 EXPECT_FALSE(view.have_inhibitors());
103 EXPECT_EQ(view.mode(), View::Mode::FULL);103 EXPECT_EQ(view.mode(), View::Mode::FULL);
104 EXPECT_EQ(view.key_focus_area(), &view);
104}105}
105106
106TEST_F(TestSessionView, RequestCloseOnBoundingAreaClick)107TEST_F(TestSessionView, RequestCloseOnBoundingAreaClick)
@@ -149,6 +150,7 @@
149 EXPECT_EQ(view.GetButtonPosition(Button::Action::HIBERNATE), 2);150 EXPECT_EQ(view.GetButtonPosition(Button::Action::HIBERNATE), 2);
150 EXPECT_EQ(view.GetButtonPosition(Button::Action::REBOOT), 3);151 EXPECT_EQ(view.GetButtonPosition(Button::Action::REBOOT), 3);
151 EXPECT_EQ(view.GetButtonPosition(Button::Action::SHUTDOWN), 4);152 EXPECT_EQ(view.GetButtonPosition(Button::Action::SHUTDOWN), 4);
153 EXPECT_EQ(view.key_focus_area(), &view);
152154
153 ON_CALL(*manager, CanShutdown()).WillByDefault(testing::Return(false));155 ON_CALL(*manager, CanShutdown()).WillByDefault(testing::Return(false));
154 view.mode.changed.emit(View::Mode::FULL);156 view.mode.changed.emit(View::Mode::FULL);
@@ -176,6 +178,7 @@
176 EXPECT_EQ(view.GetButtons().size(), 2);178 EXPECT_EQ(view.GetButtons().size(), 2);
177 EXPECT_EQ(view.GetButtonPosition(Button::Action::REBOOT), 0);179 EXPECT_EQ(view.GetButtonPosition(Button::Action::REBOOT), 0);
178 EXPECT_EQ(view.GetButtonPosition(Button::Action::SHUTDOWN), 1);180 EXPECT_EQ(view.GetButtonPosition(Button::Action::SHUTDOWN), 1);
181 EXPECT_EQ(view.key_focus_area(), view.GetButtonByAction(Button::Action::SHUTDOWN));
179}182}
180183
181TEST_F(TestSessionView, LogoutModeButtons)184TEST_F(TestSessionView, LogoutModeButtons)
@@ -185,6 +188,7 @@
185 EXPECT_EQ(view.GetButtons().size(), 2);188 EXPECT_EQ(view.GetButtons().size(), 2);
186 EXPECT_EQ(view.GetButtonPosition(Button::Action::LOCK), 0);189 EXPECT_EQ(view.GetButtonPosition(Button::Action::LOCK), 0);
187 EXPECT_EQ(view.GetButtonPosition(Button::Action::LOGOUT), 1);190 EXPECT_EQ(view.GetButtonPosition(Button::Action::LOGOUT), 1);
191 EXPECT_EQ(view.key_focus_area(), view.GetButtonByAction(Button::Action::LOGOUT));
188}192}
189193
190TEST_F(TestSessionView, FullModeTitle)194TEST_F(TestSessionView, FullModeTitle)