Gentoo Archives: gentoo-commits

From: "Andreas Hüttel" <dilfridge@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/kde:master commit in: kde-base/plasma-workspace/files/, kde-base/plasma-workspace/
Date: Sat, 28 May 2011 22:09:36
Message-Id: 3c2a7c551875c1f3d7c6ed2e0af1309cee6035a4.dilfridge@gentoo
1 commit: 3c2a7c551875c1f3d7c6ed2e0af1309cee6035a4
2 Author: Andreas K. Huettel (dilfridge) <mail <AT> akhuettel <DOT> de>
3 AuthorDate: Sat May 28 22:09:20 2011 +0000
4 Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
5 CommitDate: Sat May 28 22:09:20 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/kde.git;a=commit;h=3c2a7c55
7
8 [kde-base/plasma-workspace] Fix compilation against sci-geosciences/gpsd-2.96, bug 367567
9
10 (Portage version: 2.1.9.49/git/Linux x86_64, signed Manifest commit with key B6C5F7DE)
11
12 ---
13 .../plasma-workspace-4.6.2-panelplacement.patch | 350 --------------------
14 .../files/plasma-workspace-4.6.3-gpsdapi.patch | 74 ++++
15 .../plasma-workspace-4.6.9999.ebuild | 2 +-
16 3 files changed, 75 insertions(+), 351 deletions(-)
17
18 diff --git a/kde-base/plasma-workspace/files/plasma-workspace-4.6.2-panelplacement.patch b/kde-base/plasma-workspace/files/plasma-workspace-4.6.2-panelplacement.patch
19 deleted file mode 100644
20 index e9c049e..0000000
21 --- a/kde-base/plasma-workspace/files/plasma-workspace-4.6.2-panelplacement.patch
22 +++ /dev/null
23 @@ -1,350 +0,0 @@
24 -diff --git a/plasma/desktop/shell/panelview.cpp b/plasma/desktop/shell/panelview.cpp
25 -index 9e76304..ac1425a 100644
26 ---- a/plasma/desktop/shell/panelview.cpp
27 -+++ b/plasma/desktop/shell/panelview.cpp
28 -@@ -20,6 +20,7 @@
29 - #include "panelview.h"
30 -
31 - #include <QApplication>
32 -+#include <QDesktopWidget>
33 - #include <QGraphicsLinearLayout>
34 - #include <QPropertyAnimation>
35 - #include <QTimer>
36 -@@ -29,9 +30,8 @@
37 - #include <X11/extensions/shape.h>
38 - #endif
39 -
40 --#include <KDebug>
41 --#include <KIdleTime>
42 - #include <KWindowSystem>
43 -+#include <KDebug>
44 -
45 - #include <Plasma/Containment>
46 - #include <Plasma/Corona>
47 -@@ -309,7 +309,6 @@ PanelView::PanelView(Plasma::Containment *panel, int id, QWidget *parent)
48 - m_glowBar(0),
49 - m_mousePollTimer(0),
50 - m_strutsTimer(new QTimer(this)),
51 -- m_rehideAfterAutounhideTimer(new QTimer(this)),
52 - m_spacer(0),
53 - m_spacerIndex(-1),
54 - m_shadowWindow(0),
55 -@@ -319,8 +318,7 @@ PanelView::PanelView(Plasma::Containment *panel, int id, QWidget *parent)
56 - m_visibilityMode(NormalPanel),
57 - m_lastHorizontal(true),
58 - m_editing(false),
59 -- m_triggerEntered(false),
60 -- m_respectStatus(true)
61 -+ m_triggerEntered(false)
62 - {
63 - // KWin setup
64 - KWindowSystem::setOnAllDesktops(winId(), true);
65 -@@ -330,13 +328,11 @@ PanelView::PanelView(Plasma::Containment *panel, int id, QWidget *parent)
66 - m_strutsTimer->setSingleShot(true);
67 - connect(m_strutsTimer, SIGNAL(timeout()), this, SLOT(updateStruts()));
68 -
69 -- // this timer controls checks to re-hide a panel after it's been unhidden
70 -- // for the user because, e.g., something is demanding attention
71 -- m_rehideAfterAutounhideTimer->setSingleShot(true);
72 -- connect(m_rehideAfterAutounhideTimer, SIGNAL(timeout()), this, SLOT(checkAutounhide()));
73 --
74 - // Graphics view setup
75 - setFrameStyle(QFrame::NoFrame);
76 -+ //setAutoFillBackground(true);
77 -+ //setDragMode(QGraphicsView::RubberBandDrag);
78 -+ //setCacheMode(QGraphicsView::CacheBackground);
79 - setInteractive(true);
80 - setAcceptDrops(true);
81 - setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
82 -@@ -356,20 +352,10 @@ PanelView::PanelView(Plasma::Containment *panel, int id, QWidget *parent)
83 -
84 - const bool onScreen = panel->screen() < PlasmaApp::self()->corona()->numScreens();
85 - const QRect screenRect = onScreen ? PlasmaApp::self()->corona()->screenGeometry(panel->screen()) : QRect();
86 -- const int sw = screenRect.width();
87 -- const int sh = screenRect.height();
88 -- m_lastSeenSize = sizes.readEntry("lastsize", m_lastHorizontal ? sw : sh);
89 --
90 -- if (onScreen) {
91 -- const QString last = m_lastHorizontal ? "Horizontal" + QString::number(sw) :
92 -- "Vertical" + QString::number(sh);
93 -- if (sizes.hasGroup(last)) {
94 -- KConfigGroup thisSize(&sizes, last);
95 -- resize(thisSize.readEntry("size", m_lastHorizontal ? QSize(sw, 27) : QSize(27, sh)));
96 -- }
97 -- } else {
98 -+ if (!onScreen) {
99 - resize(panel->size().toSize());
100 - }
101 -+ m_lastSeenSize = sizes.readEntry("lastsize", m_lastHorizontal ? screenRect.width() : screenRect.height());
102 -
103 - m_alignment = alignmentFilter((Qt::Alignment)viewConfig.readEntry("Alignment", (int)Qt::AlignLeft));
104 - KConfigGroup sizeConfig(&viewConfig, (m_lastHorizontal ? "Horizontal" : "Vertical") +
105 -@@ -413,7 +399,7 @@ void PanelView::setContainment(Plasma::Containment *containment)
106 - disconnect(oldContainment);
107 - }
108 -
109 -- connect(containment, SIGNAL(newStatus(Plasma::ItemStatus)), this, SLOT(statusUpdated(Plasma::ItemStatus)));
110 -+ connect(containment, SIGNAL(newStatus(Plasma::ItemStatus)), this, SLOT(setStatus(Plasma::ItemStatus)));
111 - connect(containment, SIGNAL(destroyed(QObject*)), this, SLOT(panelDeleted()));
112 - connect(containment, SIGNAL(toolBoxToggled()), this, SLOT(togglePanelController()));
113 - connect(containment, SIGNAL(appletAdded(Plasma::Applet *, const QPointF &)), this, SLOT(appletAdded(Plasma::Applet *)));
114 -@@ -436,6 +422,10 @@ void PanelView::setContainment(Plasma::Containment *containment)
115 -
116 - // ensure we aren't overlapping other panels
117 - const QRect screenRect = PlasmaApp::self()->corona()->screenGeometry(containment->screen());
118 -+ const QRegion availGeom = PlasmaApp::self()->corona()->availableScreenRegion(containment->screen());
119 -+ const int w = containment->size().width();
120 -+ const int h = containment->size().height();
121 -+ const int length = containment->formFactor() == Plasma::Horizontal ? w : h;
122 -
123 - View::setContainment(containment);
124 -
125 -@@ -448,11 +438,6 @@ void PanelView::setContainment(Plasma::Containment *containment)
126 -
127 - updateStruts();
128 - checkShadow();
129 --
130 -- // if we are an autohiding panel, then see if the status mandates we do something about it
131 -- if (m_visibilityMode != NormalPanel && m_visibilityMode != WindowsGoBelow) {
132 -- checkUnhide(containment->status());
133 -- }
134 - }
135 -
136 - void PanelView::themeChanged()
137 -@@ -463,7 +448,6 @@ void PanelView::themeChanged()
138 -
139 - void PanelView::checkShadow()
140 - {
141 --#ifndef Q_WS_WIN
142 - if (KWindowSystem::compositingActive() && containment()->property("shadowPath").isValid()) {
143 - if (!m_shadowWindow) {
144 - m_shadowWindow = new ShadowWindow(this);
145 -@@ -478,11 +462,12 @@ void PanelView::checkShadow()
146 - if (m_shadowWindow->isValid() && isVisible()) {
147 - m_shadowWindow->show();
148 - }
149 -- } else if (m_shadowWindow) {
150 -- m_shadowWindow->deleteLater();
151 -- m_shadowWindow = 0;
152 -+ } else {
153 -+ if (m_shadowWindow) {
154 -+ m_shadowWindow->deleteLater();
155 -+ m_shadowWindow = 0;
156 -+ }
157 - }
158 --#endif
159 - }
160 -
161 - void PanelView::setPanelDragPosition(const QPoint &point)
162 -@@ -709,6 +694,8 @@ void PanelView::updatePanelGeometry()
163 - geom.moveTopLeft(QPoint(screenGeom.center().x() - geom.width()/2 + 1 - geom.width()%2 + m_offset, screenGeom.top()));
164 - }
165 -
166 -+ //enable borders if needed
167 -+ //c->setGeometry(QRect(geom.left(), c->geometry().top(), geom.width(), geom.height()));
168 - break;
169 -
170 - case Plasma::LeftEdge:
171 -@@ -720,6 +707,8 @@ void PanelView::updatePanelGeometry()
172 - geom.moveTopLeft(QPoint(screenGeom.left(), screenGeom.center().y() - geom.height()/2 + 1 - geom.height()%2 + m_offset));
173 - }
174 -
175 -+ //enable borders if needed
176 -+ //c->setGeometry(QRect(c->geometry().left(), geom.top(), geom.width(), geom.height()));
177 - break;
178 -
179 - case Plasma::RightEdge:
180 -@@ -731,6 +720,8 @@ void PanelView::updatePanelGeometry()
181 - geom.moveTopRight(QPoint(screenGeom.right(), screenGeom.center().y() - geom.height()/2 + 1 - geom.height()%2 + m_offset));
182 - }
183 -
184 -+ //enable borders if needed
185 -+ //c->setGeometry(QRect(c->geometry().left(), geom.top(), geom.width(), geom.height()));
186 - break;
187 -
188 - case Plasma::BottomEdge:
189 -@@ -743,6 +734,8 @@ void PanelView::updatePanelGeometry()
190 - geom.moveBottomLeft(QPoint(screenGeom.center().x() - geom.width()/2 + 1 - geom.width()%2 + m_offset, screenGeom.bottom()));
191 - }
192 -
193 -+ //enable borders if needed
194 -+ //c->setGeometry(QRect(geom.left(), c->geometry().top(), geom.width(), geom.height()));
195 - break;
196 - }
197 -
198 -@@ -818,7 +811,8 @@ void PanelView::pinchContainment(const QRect &screenGeom)
199 - KConfigGroup sizes = config();
200 - sizes = KConfigGroup(&sizes, "Sizes");
201 -
202 -- if (m_lastHorizontal != horizontal || m_lastSeenSize != (horizontal ? sw : sh)) {
203 -+ if (m_lastHorizontal != horizontal ||
204 -+ m_lastSeenSize != (horizontal ? sw : sh)) {
205 - // we're adjusting size. store the current size now
206 - KConfigGroup lastSize(&sizes, (m_lastHorizontal ? "Horizontal" : "Vertical") +
207 - QString::number(m_lastSeenSize));
208 -@@ -1032,23 +1026,17 @@ void PanelView::togglePanelController()
209 - }
210 - }
211 -
212 -- if (m_panelController->isVisible()) {
213 -- if (m_panelController->showingWidgetExplorer() ||
214 -- m_panelController->showingActivityManager()) {
215 -- m_panelController->switchToController();
216 -- m_panelController->move(m_panelController->positionForPanelGeometry(geometry()));
217 -- } else {
218 -- Plasma::WindowEffects::slideWindow(m_panelController, location());
219 -- m_panelController->close();
220 -- updateStruts();
221 -- }
222 -- } else {
223 -+ if (!m_panelController->isVisible()) {
224 - m_editing = true;
225 - m_panelController->resize(m_panelController->sizeHint());
226 - m_panelController->move(m_panelController->positionForPanelGeometry(geometry()));
227 - Plasma::WindowEffects::slideWindow(m_panelController, location());
228 - kDebug() << "showing panel controller!" << m_panelController->geometry();
229 - m_panelController->show();
230 -+ } else {
231 -+ Plasma::WindowEffects::slideWindow(m_panelController, location());
232 -+ m_panelController->close();
233 -+ updateStruts();
234 - }
235 - }
236 -
237 -@@ -1438,7 +1426,7 @@ void PanelView::unhide(bool destroyTrigger)
238 - }
239 - }
240 -
241 --void PanelView::statusUpdated(Plasma::ItemStatus newStatus)
242 -+void PanelView::setStatus(Plasma::ItemStatus newStatus)
243 - {
244 - if (newStatus == Plasma::AcceptingInputStatus) {
245 - KWindowSystem::forceActiveWindow(winId());
246 -@@ -1447,50 +1435,14 @@ void PanelView::statusUpdated(Plasma::ItemStatus newStatus)
247 -
248 - void PanelView::checkUnhide(Plasma::ItemStatus newStatus)
249 - {
250 -- //kDebug() << "================= got a status: " << newStatus << Plasma::ActiveStatus;
251 -- m_respectStatus = true;
252 --
253 -+ //kDebug() << "================= got a new status: " << newStatus << Plasma::ActiveStatus;
254 - if (newStatus > Plasma::ActiveStatus) {
255 - unhide();
256 -- if (newStatus == Plasma::NeedsAttentionStatus) {
257 -- //kDebug() << "starting the timer!";
258 -- // start our rehide timer, so that the panel doesn't stay up and stuck forever and a day
259 -- m_rehideAfterAutounhideTimer->start(AUTOUNHIDE_CHECK_DELAY);
260 -- }
261 - } else {
262 -- //kDebug() << "new status, just autohiding";
263 - startAutoHide();
264 - }
265 - }
266 -
267 --void PanelView::checkAutounhide()
268 --{
269 -- //kDebug() << "***************************" << KIdleTime::instance()->idleTime();
270 -- if (KIdleTime::instance()->idleTime() >= AUTOUNHIDE_CHECK_DELAY) {
271 -- // the user is idle .. let's not hige the panel on them quite yet, but rather given them a
272 -- // chance to see this thing!
273 -- connect(KIdleTime::instance(), SIGNAL(resumingFromIdle()), this, SLOT(checkAutounhide()),
274 -- Qt::UniqueConnection);
275 -- KIdleTime::instance()->catchNextResumeEvent();
276 -- //kDebug() << "exit 1 ***************************";
277 -- return;
278 -- }
279 --
280 -- m_respectStatus = false;
281 -- //kDebug() << "in to check ... who's resonsible?" << sender() << KIdleTime::instance();
282 -- if (sender() == KIdleTime::instance()) {
283 -- //kDebug() << "doing a 2s wait";
284 -- QTimer::singleShot(2000, this, SLOT(startAutoHide()));
285 -- } else {
286 -- //kDebug() << "just starting autohide!";
287 -- startAutoHide();
288 -- }
289 --
290 -- // this line must come after the check on sender() as it *clears* that value!
291 -- disconnect(KIdleTime::instance(), SIGNAL(resumingFromIdle()), this, SLOT(checkAutounhide()));
292 -- //kDebug() << "exit 0 ***************************";
293 --}
294 --
295 - void PanelView::unhide()
296 - {
297 - unhide(true);
298 -@@ -1503,31 +1455,10 @@ void PanelView::resetTriggerEnteredSuppression()
299 -
300 - void PanelView::startAutoHide()
301 - {
302 -- /*
303 -- kDebug() << m_editing << (containment() ? containment()->status() : 0) << Plasma::ActiveStatus
304 -- << geometry().adjusted(-10, -10, 10, 10).contains(QCursor::pos()) << hasPopup();
305 -- if (containment() && containment()->status() > Plasma::ActiveStatus) {
306 -- foreach (Plasma::Applet *applet, containment()->applets()) {
307 -- kDebug() << " " << applet->name() << applet->status();
308 -- }
309 -- }
310 -- */
311 --
312 --
313 -- if (m_editing || (m_respectStatus && (containment() && containment()->status() > Plasma::ActiveStatus))) {
314 -- if (m_mousePollTimer) {
315 -- m_mousePollTimer->stop();
316 -- disconnect(m_mousePollTimer, SIGNAL(timeout()), this, SLOT(startAutoHide()));
317 -- }
318 --
319 -- return;
320 -- }
321 --
322 -- // since we've gotten this far, we don't need to worry about rehiding-after-auto-unhide, so just
323 -- // stop the timer
324 -- m_rehideAfterAutounhideTimer->stop();
325 --
326 -- if (geometry().adjusted(-10, -10, 10, 10).contains(QCursor::pos()) || hasPopup()) {
327 -+ //TODO: is 5s too long? not long enough?
328 -+ if (m_editing || (containment() && containment()->status() > Plasma::ActiveStatus) ||
329 -+ geometry().adjusted(-10, -10, 10, 10).contains(QCursor::pos()) ||
330 -+ hasPopup()) {
331 - if (!m_mousePollTimer) {
332 - leaveEvent(0);
333 - }
334 -diff --git a/plasma/desktop/shell/panelview.h b/plasma/desktop/shell/panelview.h
335 -index 9bdf780..c4be6b4 100644
336 ---- a/plasma/desktop/shell/panelview.h
337 -+++ b/plasma/desktop/shell/panelview.h
338 -@@ -141,7 +141,7 @@ public Q_SLOTS:
339 - /**
340 - * Decides whether give focus to the panel
341 - */
342 -- void statusUpdated(Plasma::ItemStatus newStatus);
343 -+ void setStatus(Plasma::ItemStatus newStatus);
344 -
345 - /**
346 - * Pinches the min/max sizes of the containment to the current screen resolution
347 -@@ -240,7 +240,6 @@ private Q_SLOTS:
348 - void overlayMoved(PanelAppletOverlay *overlay);
349 - void panelDeleted();
350 - void startAutoHide();
351 -- void checkAutounhide();
352 -
353 - /**
354 - * update the appearance of the unhide hinter
355 -@@ -270,7 +269,6 @@ private:
356 - GlowBar *m_glowBar;
357 - QTimer *m_mousePollTimer;
358 - QTimer *m_strutsTimer;
359 -- QTimer *m_rehideAfterAutounhideTimer;
360 - QTimeLine *m_timeLine;
361 - QGraphicsWidget *m_spacer;
362 - int m_spacerIndex;
363 -@@ -292,10 +290,7 @@ private:
364 -
365 - bool m_editing : 1;
366 - bool m_triggerEntered : 1;
367 -- bool m_respectStatus : 1;
368 --
369 - static const int STRUTSTIMERDELAY = 200;
370 -- static const int AUTOUNHIDE_CHECK_DELAY = 3000;
371 - };
372 -
373 - #endif
374
375 diff --git a/kde-base/plasma-workspace/files/plasma-workspace-4.6.3-gpsdapi.patch b/kde-base/plasma-workspace/files/plasma-workspace-4.6.3-gpsdapi.patch
376 new file mode 100644
377 index 0000000..f24aded
378 --- /dev/null
379 +++ b/kde-base/plasma-workspace/files/plasma-workspace-4.6.3-gpsdapi.patch
380 @@ -0,0 +1,74 @@
381 +From: Rafael Fernández López <ereslibre@×××.org>
382 +Date: Thu, 28 Apr 2011 11:35:53 +0000
383 +Subject: gpsd api has changed and for GPSD_API_MAJOR_VERSION >=5 there are
384 +X-Git-Url: http://quickgit.kde.org/?p=kde-workspace.git&amp;a=commitdiff&amp;h=a3009dd96e8519bcc205d75c29e18bbbb81fce03
385 +---
386 +gpsd api has changed and for GPSD_API_MAJOR_VERSION >=5 there are
387 +some calls that are slightly different. Make the dataengine compile
388 +against this version and previous one by adding conditional code.
389 +
390 +REVIEW: 101247
391 +---
392 +
393 +
394 +--- a/plasma/generic/dataengines/geolocation/location_gps.cpp
395 ++++ b/plasma/generic/dataengines/geolocation/location_gps.cpp
396 +@@ -51,7 +51,11 @@ void Gpsd::run()
397 + while (!m_abort) {
398 + Plasma::DataEngine::Data d;
399 +
400 ++#if GPSD_API_MAJOR_VERSION >= 5
401 ++ if (gps_read(m_gpsdata) != -1) {
402 ++#else
403 + if (gps_poll(m_gpsdata) != -1) {
404 ++#endif
405 + //kDebug() << "poll ok";
406 + if (m_gpsdata->online) {
407 + //kDebug() << "online";
408 +@@ -73,11 +77,19 @@ void Gpsd::run()
409 + Gps::Gps(QObject* parent, const QVariantList& args)
410 + : GeolocationProvider(parent, args),
411 + m_gpsd(0)
412 ++#if GPSD_API_MAJOR_VERSION >= 5
413 ++ , m_gpsdata(0)
414 ++#endif
415 + {
416 +- gps_data_t* gpsdata = gps_open("localhost", DEFAULT_GPSD_PORT);
417 +- if (gpsdata) {
418 ++#if GPSD_API_MAJOR_VERSION >= 5
419 ++ m_gpsdata = new gps_data_t;
420 ++ gps_open("localhost", DEFAULT_GPSD_PORT, m_gpsdata);
421 ++#else
422 ++ gps_data_t* m_gpsdata = gps_open("localhost", DEFAULT_GPSD_PORT);
423 ++#endif
424 ++ if (m_gpsdata) {
425 + kDebug() << "gpsd found.";
426 +- m_gpsd = new Gpsd(gpsdata);
427 ++ m_gpsd = new Gpsd(m_gpsdata);
428 + connect(m_gpsd, SIGNAL(dataReady(const Plasma::DataEngine::Data&)),
429 + this, SIGNAL(setData(const Plasma::DataEngine::Data&)));
430 + } else {
431 +@@ -90,6 +102,9 @@ Gps::Gps(QObject* parent, const QVariant
432 + Gps::~Gps()
433 + {
434 + delete m_gpsd;
435 ++#if GPSD_API_MAJOR_VERSION >= 5
436 ++ delete m_gpsdata;
437 ++#endif
438 + }
439 +
440 + void Gps::update()
441 +
442 +--- a/plasma/generic/dataengines/geolocation/location_gps.h
443 ++++ b/plasma/generic/dataengines/geolocation/location_gps.h
444 +@@ -58,6 +58,9 @@ public:
445 +
446 + private:
447 + Gpsd* m_gpsd;
448 ++#if GPSD_API_MAJOR_VERSION >= 5
449 ++ gps_data_t* m_gpsdata;
450 ++#endif
451 + };
452 +
453 + #endif
454 +
455
456 diff --git a/kde-base/plasma-workspace/plasma-workspace-4.6.9999.ebuild b/kde-base/plasma-workspace/plasma-workspace-4.6.9999.ebuild
457 index 4a6d547..2eaa9ed 100644
458 --- a/kde-base/plasma-workspace/plasma-workspace-4.6.9999.ebuild
459 +++ b/kde-base/plasma-workspace/plasma-workspace-4.6.9999.ebuild
460 @@ -74,7 +74,7 @@ KMLOADLIBS="libkworkspace libplasmaclock libplasmagenericshell libtaskmanager"
461 PATCHES=(
462 "${FILESDIR}/${PN}-4.4.2-xinerama_cmake_automagic.patch"
463 "${FILESDIR}/${PN}-4.6.2-optional_akonadi-server.patch"
464 - "${FILESDIR}/${PN}-4.6.2-panelplacement.patch"
465 + "${FILESDIR}/${PN}-4.6.3-gpsdapi.patch"
466 )
467
468 pkg_setup() {