Merge lp:~aacid/unity-2d/panel_screen_can_change into lp:unity-2d

Proposed by Albert Astals Cid
Status: Merged
Approved by: Gerry Boland
Approved revision: 1103
Merged at revision: 1107
Proposed branch: lp:~aacid/unity-2d/panel_screen_can_change
Merge into: lp:unity-2d
Diff against target: 135 lines (+31/-11)
4 files modified
panel/applets/appname/appnameapplet.cpp (+1/-1)
panel/applets/appname/windowhelper.cpp (+15/-9)
panel/applets/appname/windowhelper.h (+3/-1)
tests/manual-tests/dash.txt (+12/-0)
To merge this branch: bzr merge lp:~aacid/unity-2d/panel_screen_can_change
Reviewer Review Type Date Requested Status
Gerry Boland Pending
Review via email: mp+107198@code.launchpad.net

Commit message

[panel] WindowHelper: Do not pass the screen number but the panel number since the panel's screen can change

Description of the change

WindowHelper: Do not pass the screen but the panel since the panel screen can change

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'panel/applets/appname/appnameapplet.cpp'
2--- panel/applets/appname/appnameapplet.cpp 2012-05-21 10:33:44 +0000
3+++ panel/applets/appname/appnameapplet.cpp 2012-05-24 11:26:18 +0000
4@@ -253,7 +253,7 @@
5
6 void setupWindowHelper()
7 {
8- m_windowHelper = new WindowHelper(q->panel()->screen(), q);
9+ m_windowHelper = new WindowHelper(q->panel(), q);
10 QObject::connect(m_windowHelper, SIGNAL(stateChanged()),
11 q, SLOT(updateWidgets()));
12 QObject::connect(m_windowHelper, SIGNAL(nameChanged()),
13
14=== modified file 'panel/applets/appname/windowhelper.cpp'
15--- panel/applets/appname/windowhelper.cpp 2012-04-23 15:43:10 +0000
16+++ panel/applets/appname/windowhelper.cpp 2012-05-24 11:26:18 +0000
17@@ -30,6 +30,7 @@
18 #include <hudclient.h>
19 #include <debug_p.h>
20 #include <gconnector.h>
21+#include <unity2dpanel.h>
22
23 // Bamf
24 #include <bamf-matcher.h>
25@@ -57,15 +58,20 @@
26 {
27 WnckWindow* m_window;
28 GConnector m_connector;
29- int m_screen;
30+ Unity2dPanel *m_panel;
31+
32+ int screen() const
33+ {
34+ return m_panel->screen();
35+ }
36 };
37
38-WindowHelper::WindowHelper(int screen, QObject* parent)
39+WindowHelper::WindowHelper(Unity2dPanel *panel, QObject* parent)
40 : QObject(parent)
41 , d(new WindowHelperPrivate)
42 {
43 d->m_window = 0;
44- d->m_screen = screen;
45+ d->m_panel = panel;
46
47 wnck_screen_force_update(wnck_screen_get_default());
48
49@@ -138,7 +144,7 @@
50
51 bool WindowHelper::isMaximized() const
52 {
53- if (DashClient::instance()->activeInScreen(d->m_screen)) {
54+ if (DashClient::instance()->activeInScreen(d->screen())) {
55 return dash2dConfiguration().property("fullScreen").toBool();
56 } else {
57 if (d->m_window) {
58@@ -174,9 +180,9 @@
59
60 void WindowHelper::close()
61 {
62- if (DashClient::instance()->activeInScreen(d->m_screen)) {
63+ if (DashClient::instance()->activeInScreen(d->screen())) {
64 DashClient::instance()->setActive(false);
65- } else if (HUDClient::instance()->activeInScreen(d->m_screen)) {
66+ } else if (HUDClient::instance()->activeInScreen(d->screen())) {
67 HUDClient::instance()->setActive(false);
68 } else {
69 guint32 timestamp = QDateTime::currentDateTime().toTime_t();
70@@ -186,14 +192,14 @@
71
72 void WindowHelper::minimize()
73 {
74- if (!DashClient::instance()->activeInScreen(d->m_screen)) {
75+ if (!DashClient::instance()->activeInScreen(d->screen())) {
76 wnck_window_minimize(d->m_window);
77 }
78 }
79
80 void WindowHelper::maximize()
81 {
82- if (DashClient::instance()->activeInScreen(d->m_screen)) {
83+ if (DashClient::instance()->activeInScreen(d->screen())) {
84 dash2dConfiguration().setProperty("fullScreen", QVariant(true));
85 } else {
86 /* This currently cannot happen, because the window buttons are not
87@@ -205,7 +211,7 @@
88
89 void WindowHelper::unmaximize()
90 {
91- if (DashClient::instance()->activeInScreen(d->m_screen)) {
92+ if (DashClient::instance()->activeInScreen(d->screen())) {
93 dash2dConfiguration().setProperty("fullScreen", QVariant(false));
94 } else {
95 wnck_window_unmaximize(d->m_window);
96
97=== modified file 'panel/applets/appname/windowhelper.h'
98--- panel/applets/appname/windowhelper.h 2012-02-29 12:09:53 +0000
99+++ panel/applets/appname/windowhelper.h 2012-05-24 11:26:18 +0000
100@@ -29,12 +29,14 @@
101
102 class QPoint;
103
104+class Unity2dPanel;
105+
106 struct WindowHelperPrivate;
107 class WindowHelper : public QObject
108 {
109 Q_OBJECT
110 public:
111- WindowHelper(int screen, QObject* parent);
112+ WindowHelper(Unity2dPanel *panel, QObject* parent);
113 ~WindowHelper();
114
115 void setXid(uint);
116
117=== modified file 'tests/manual-tests/dash.txt'
118--- tests/manual-tests/dash.txt 2012-04-20 13:13:08 +0000
119+++ tests/manual-tests/dash.txt 2012-05-24 11:26:18 +0000
120@@ -249,3 +249,15 @@
121 # * Verify video opens correctly in web browser
122
123 -----
124+
125+# Test case objectives:
126+ # * Ensure dash can be maximized in a multimonitor scenario
127+ # Pre-conditions
128+ # * Have two monitors
129+ # * Have the second monitor be the the primary monitor when you connect it
130+ # Test steps
131+ # * Have one monitor attached
132+ # * Connect the second monitor
133+ # * Verify dash can be maximized in the first monitor (that is not the primary anymore)
134+
135+-----

Subscribers

People subscribed via source and target branches