Merge lp:~uriboni/unity-2d/panel-size-policy-up-to-applets into lp:unity-2d/3.0

Proposed by Ugo Riboni
Status: Merged
Approved by: Alberto Mardegan
Approved revision: 674
Merged at revision: 674
Proposed branch: lp:~uriboni/unity-2d/panel-size-policy-up-to-applets
Merge into: lp:unity-2d/3.0
Diff against target: 106 lines (+7/-27)
4 files modified
data/com.canonical.Unity2d.gschema.xml (+0/-9)
libunity-2d-private/src/panelapplet.cpp (+1/-0)
panel/app/panelmanager.cpp (+5/-18)
panel/applets/appname/appnameapplet.cpp (+1/-0)
To merge this branch: bzr merge lp:~uriboni/unity-2d/panel-size-policy-up-to-applets
Reviewer Review Type Date Requested Status
Alberto Mardegan (community) Approve
Review via email: mp+71829@code.launchpad.net

Description of the change

Leave the size policy of panel applets up to the applets themselves, and put back the correct size policy for the appname applet.

To post a comment you must log in.
Revision history for this message
Alberto Mardegan (mardy) wrote :

Gorgeous! :-)

I just noted something else that we might want to do, just for safety:

 QWidget *applet = provider->createApplet();
 panel->addWidget(applet);

Add a "if (applet != 0)" check. But it's not affecting this bug report, and all current applets always return a proper widget, so we can have it done separately as an improvement.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'data/com.canonical.Unity2d.gschema.xml'
2--- data/com.canonical.Unity2d.gschema.xml 2011-08-12 09:41:42 +0000
3+++ data/com.canonical.Unity2d.gschema.xml 2011-08-17 09:23:55 +0000
4@@ -26,14 +26,5 @@
5 only on the panel living in the leftmost screen.
6 </description>
7 </key>
8- <key type="s" name="expanding">
9- <default>"appname"</default>
10- <summary>Applet that should expand to fill all unused space</summary>
11- <description>
12- If this property names a valid applet from the list in the applets property, then this
13- applet will be setup so that it tries to use all the panel space that remains empty after
14- the other applets have resized themselves to display their content.
15- </description>
16- </key>
17 </schema>
18 </schemalist>
19
20=== modified file 'libunity-2d-private/src/panelapplet.cpp'
21--- libunity-2d-private/src/panelapplet.cpp 2011-08-16 12:58:45 +0000
22+++ libunity-2d-private/src/panelapplet.cpp 2011-08-17 09:23:55 +0000
23@@ -6,6 +6,7 @@
24 PanelApplet::PanelApplet(QWidget* parent) :
25 QWidget(parent)
26 {
27+ setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum);
28 }
29
30 } // namespace Unity2d
31
32=== modified file 'panel/app/panelmanager.cpp'
33--- panel/app/panelmanager.cpp 2011-08-16 12:58:45 +0000
34+++ panel/app/panelmanager.cpp 2011-08-17 09:23:55 +0000
35@@ -47,7 +47,6 @@
36
37 static const char* PANEL_DCONF_SCHEMA = "com.canonical.Unity2d.Panel";
38 static const char* PANEL_DCONF_PROPERTY_APPLETS = "applets";
39-static const char* PANEL_DCONF_PROPERTY_EXPAND = "expanding";
40 static const char* PANEL_PLUGINS_DEV_DIR_ENV = "DEV_PLUGIN_PATH";
41
42 static QPalette getPalette()
43@@ -116,7 +115,7 @@
44 return plugins;
45 }
46
47-static bool loadPanelConfiguration(QStringList& applets, QString& expanding)
48+static QStringList loadPanelConfiguration()
49 {
50 QConf panelConfig(PANEL_DCONF_SCHEMA);
51
52@@ -125,16 +124,10 @@
53 qWarning() << "Missing or invalid panel applets configuration in dconf. Please check"
54 << "the property" << PANEL_DCONF_PROPERTY_APPLETS
55 << "in schema" << PANEL_DCONF_SCHEMA;
56- return false;
57+ return QStringList();
58 }
59
60- applets.append(appletsConfig.toStringList());
61- qDebug() << "Configured plugins list is:" << applets;
62-
63- expanding = panelConfig.property(PANEL_DCONF_PROPERTY_EXPAND).toString();
64- qDebug() << "Expanding applet is:" << expanding;
65-
66- return true;
67+ return appletsConfig.toStringList();
68 }
69
70 static Unity2dPanel* instantiatePanel(int screen)
71@@ -148,9 +141,8 @@
72
73 QHash<QString, PanelAppletProviderInterface*> plugins = loadPlugins();
74
75- QString expandingApplet;
76- QStringList panelConfiguration;
77- loadPanelConfiguration(panelConfiguration, expandingApplet);
78+ QStringList panelConfiguration = loadPanelConfiguration();
79+ qDebug() << "Configured plugins list is:" << panelConfiguration;
80
81 Q_FOREACH(QString appletName, panelConfiguration) {
82 bool onlyLeftmost = appletName.startsWith('!');
83@@ -165,11 +157,6 @@
84 } else {
85 if (screen == leftmost || !onlyLeftmost) {
86 QWidget *applet = provider->createApplet();
87- if (appletName == expandingApplet) {
88- applet->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Minimum);
89- } else {
90- applet->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum);
91- }
92 panel->addWidget(applet);
93 }
94 }
95
96=== modified file 'panel/applets/appname/appnameapplet.cpp'
97--- panel/applets/appname/appnameapplet.cpp 2011-08-16 10:56:09 +0000
98+++ panel/applets/appname/appnameapplet.cpp 2011-08-17 09:23:55 +0000
99@@ -216,6 +216,7 @@
100 : d(new AppNameAppletPrivate)
101 {
102 d->q = this;
103+ setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Minimum);
104
105 QPalette palette;
106 palette.setColor(QPalette::WindowText, Qt::white);

Subscribers

People subscribed via source and target branches

to all changes: