]> git.pld-linux.org Git - packages/kde4-kdebase-workspace.git/blob - kde4-kdebase-workspace-branch.diff
e894759805f1e05920aad10e8f2a0803529071d4
[packages/kde4-kdebase-workspace.git] / kde4-kdebase-workspace-branch.diff
1 --- workspace/kcontrol/randr/krandrtray.desktop (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
2 +++ workspace/kcontrol/randr/krandrtray.desktop (.../branches/KDE/4.2/kdebase)  (wersja 956244)
3 @@ -20,7 +20,7 @@
4  GenericName[ar]=إعادة تحجيم ودوران الشاشة
5  GenericName[be]=Змена памераў экрана і перагортванне
6  GenericName[be@latin]=Aplet dla źmieny pamieraŭ i pavarotu ekrana
7 -GenericName[bg]=Размер и ротация на екрана
8 +GenericName[bg]=Големина и завъртане на екрана
9  GenericName[bn]=পর্দা মাপবদল ও আবর্তন
10  GenericName[bn_IN]=পর্দা মাপবদল ও আবর্তন
11  GenericName[br]=Adventañ ha treiñ ar skramm
12 --- workspace/kcontrol/randr/randr.desktop      (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
13 +++ workspace/kcontrol/randr/randr.desktop      (.../branches/KDE/4.2/kdebase)  (wersja 956244)
14 @@ -16,7 +16,7 @@
15  Name[ar]=الحجم والاتجاه
16  Name[be]=Памеры і арыентацыя
17  Name[be@latin]=Pamiery j pavarot
18 -Name[bg]=Размер и завъртане на екрана
19 +Name[bg]=Големина и завъртане на екрана
20  Name[bn]=আকৃতি এবং দিশা
21  Name[bn_IN]=মাপ ও দিশা
22  Name[br]=Ment ha reteradur
23 @@ -97,7 +97,7 @@
24  Comment[ar]=غيّر حجم العرض وأدِره
25  Comment[be]=Змяняе памеры і перагортвае ваш экран
26  Comment[be@latin]=Źmianieńnie pamieraŭ i pavarot ekrana
27 -Comment[bg]=Настройване на размера и завъртането на екрана
28 +Comment[bg]=Настройване на големината и завъртането на екрана
29  Comment[bn]=আপনার ডিসপ্লের আকৃতি এবং দিশা পরিবর্তন করুন
30  Comment[bn_IN]=আপনার ডিসপ্লের আকৃতি এবং দিশা পরিবর্তন করুন
31  Comment[br]=Adventañ ha treiñ ho skramm
32 --- workspace/kcontrol/keys/keys.desktop        (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
33 +++ workspace/kcontrol/keys/keys.desktop        (.../branches/KDE/4.2/kdebase)  (wersja 956244)
34 @@ -60,7 +60,7 @@
35  Name[pt]=Atalhos Globais do Teclado
36  Name[pt_BR]=Atalhos de teclado globais
37  Name[ro]=Acceleratori de tastatură globali
38 -Name[ru]=Комбинации клавиш
39 +Name[ru]=Основные действия
40  Name[si]=ගෝලීය යතුරුපුවරු කෙටිමං
41  Name[sk]=Globálne klávesové skratky
42  Name[sl]=Globalne tipkovnične bližnjice
43 --- workspace/solid/kcm/kcm_solid.desktop       (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
44 +++ workspace/solid/kcm/kcm_solid.desktop       (.../branches/KDE/4.2/kdebase)  (wersja 956244)
45 @@ -12,6 +12,7 @@
46  Name[ar]=العتاد
47  Name[be]=Прылады
48  Name[be@latin]=Aparatura
49 +Name[bg]=Хардуер
50  Name[bn]=হার্ডওয়্যার
51  Name[bn_IN]=হার্ডওয়্যার
52  Name[br]=Periantel
53 --- workspace/powerdevil/daemon/PollSystemLoader.cpp    (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
54 +++ workspace/powerdevil/daemon/PollSystemLoader.cpp    (.../branches/KDE/4.2/kdebase)  (wersja 956244)
55 @@ -58,20 +58,21 @@
56      tpl->deleteLater();
57  }
58  
59 -QMap<AbstractSystemPoller::PollingType, QString> PollSystemLoader::getAvailableSystems()
60 +QHash<AbstractSystemPoller::PollingType, QString> PollSystemLoader::getAvailableSystems()
61  {
62      // Cached
63      return m_availableSystems;
64  }
65  
66 -QMap<int, QString> PollSystemLoader::getAvailableSystemsAsInt()
67 +QHash<int, QString> PollSystemLoader::getAvailableSystemsAsInt()
68  {
69      // Cached
70  
71 -    QMap<int, QString> retlist;
72 +    QHash<int, QString> retlist;
73  
74 -    foreach(const AbstractSystemPoller::PollingType &ent, m_availableSystems.keys()) {
75 -        retlist[(int) ent] = m_availableSystems[ent];
76 +    QHash<AbstractSystemPoller::PollingType, QString>::const_iterator i;
77 +    for (i = m_availableSystems.constBegin(); i != m_availableSystems.constEnd(); ++i) {
78 +        retlist[(int) i.key()] = i.value();
79      }
80  
81      return retlist;
82 --- workspace/powerdevil/daemon/PowerDevilDaemon.cpp    (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
83 +++ workspace/powerdevil/daemon/PowerDevilDaemon.cpp    (.../branches/KDE/4.2/kdebase)  (wersja 956244)
84 @@ -63,8 +63,7 @@
85  #include <X11/Xatom.h>
86  #include <X11/Xutil.h>
87  #include <X11/Xos.h>
88 -extern "C"
89 -{
90 +extern "C" {
91  #include <X11/extensions/dpms.h>
92      int __kde_do_not_unload = 1;
93  
94 @@ -102,7 +101,8 @@
95              : notifier(Solid::Control::PowerManager::notifier())
96              , battery(0)
97              , currentConfig(0)
98 -            , status(PowerDevilDaemon::NoAction) {};
99 +            , status(PowerDevilDaemon::NoAction)
100 +            , ckSessionInterface(0) {};
101  
102      Solid::Control::PowerManager::Notifier * notifier;
103      QPointer<Solid::Battery> battery;
104 @@ -128,6 +128,10 @@
105  
106      int batteryPercent;
107      bool isPlugged;
108 +
109 +    // ConsoleKit stuff
110 +    QDBusInterface *ckSessionInterface;
111 +    bool ckAvailable;
112  };
113  
114  PowerDevilDaemon::PowerDevilDaemon(QObject *parent, const QList<QVariant>&)
115 @@ -165,6 +169,9 @@
116          return;
117      }
118  
119 +    // First things first: let's set up PowerDevil to be aware of active session
120 +    setUpConsoleKit();
121 +
122      d->profilesConfig = KSharedConfig::openConfig("powerdevilprofilesrc", KConfig::SimpleConfig);
123      setAvailableProfiles(d->profilesConfig->groupList());
124  
125 @@ -176,7 +183,7 @@
126      d->ksmServerIface = new OrgKdeKSMServerInterfaceInterface("org.kde.ksmserver", "/KSMServer",
127              QDBusConnection::sessionBus(), this);
128  
129 -    /*  Not needed anymore; I am not sure if we will need that in a future, so I leave it here 
130 +    /*  Not needed anymore; I am not sure if we will need that in a future, so I leave it here
131       *  just in case.
132       *
133       *   d->kscreenSaverIface = new OrgKdeScreensaverInterface("org.freedesktop.ScreenSaver", "/ScreenSaver",
134 @@ -196,7 +203,7 @@
135      if (PowerDevilSettings::pollingSystem() == -1) {
136          // Ok, new configuration... so let's see what we've got!!
137  
138 -        QMap<AbstractSystemPoller::PollingType, QString> pList = d->pollLoader->getAvailableSystems();
139 +        QHash<AbstractSystemPoller::PollingType, QString> pList = d->pollLoader->getAvailableSystems();
140  
141          if (pList.contains(AbstractSystemPoller::XSyncBased)) {
142              PowerDevilSettings::setPollingSystem(AbstractSystemPoller::XSyncBased);
143 @@ -224,6 +231,7 @@
144  
145  PowerDevilDaemon::~PowerDevilDaemon()
146  {
147 +    delete d->ckSessionInterface;
148      delete d;
149  }
150  
151 @@ -327,7 +335,7 @@
152  
153  bool PowerDevilDaemon::loadPollingSystem(AbstractSystemPoller::PollingType type)
154  {
155 -    QMap<AbstractSystemPoller::PollingType, QString> pList = d->pollLoader->getAvailableSystems();
156 +    QHash<AbstractSystemPoller::PollingType, QString> pList = d->pollLoader->getAvailableSystems();
157  
158      if (!pList.contains(type)) {
159          return false;
160 @@ -351,10 +359,11 @@
161  {
162      QVariantMap map;
163  
164 -    QMap<int, QString> pmap = d->pollLoader->getAvailableSystemsAsInt();
165 +    QHash<int, QString> pmap = d->pollLoader->getAvailableSystemsAsInt();
166  
167 -    foreach(int ent, pmap.keys()) {
168 -        map[pmap[ent]] = ent;
169 +    QHash<int, QString>::const_iterator i;
170 +    for (i = pmap.constBegin(); i != pmap.constEnd(); ++i) {
171 +        map[i.value()] = i.key();
172      }
173  
174      return map;
175 @@ -364,10 +373,14 @@
176  {
177      KConfigGroup * settings = getCurrentProfile();
178  
179 -    Solid::Control::PowerManager::setBrightness(settings->readEntry("brightness").toInt());
180 -
181      POLLER_CALL(d->pollLoader->poller(), stopCatchingIdleEvents());
182      POLLER_CALL(d->pollLoader->poller(), forcePollRequest());
183 +
184 +    if (!checkIfCurrentSessionActive()) {
185 +        return;
186 +    }
187 +
188 +    Solid::Control::PowerManager::setBrightness(settings->readEntry("brightness").toInt());
189  }
190  
191  void PowerDevilDaemon::refreshStatus()
192 @@ -404,15 +417,15 @@
193          emitNotification("unplugged", i18n("The power adaptor has been unplugged"));
194      }
195  
196 -    if (!forced)
197 +    if (!forced) {
198          reloadProfile(state);
199 +    }
200  
201      applyProfile();
202  }
203  
204  #ifdef HAVE_DPMS
205 -extern "C"
206 -{
207 +extern "C" {
208      int dropError(Display *, XErrorEvent *);
209      typedef int (*XErrFunc)(Display *, XErrorEvent *);
210  }
211 @@ -425,10 +438,15 @@
212  
213  void PowerDevilDaemon::applyProfile()
214  {
215 +    if (!checkIfCurrentSessionActive()) {
216 +        return;
217 +    }
218 +
219      KConfigGroup * settings = getCurrentProfile();
220  
221 -    if (!settings)
222 +    if (!settings) {
223          return;
224 +    }
225  
226      Solid::Control::PowerManager::setBrightness(settings->readEntry("brightness").toInt());
227      Solid::Control::PowerManager::setCpuFreqPolicy((Solid::Control::PowerManager::CpuFreqPolicy)
228 @@ -459,10 +477,15 @@
229  
230  void PowerDevilDaemon::setUpDPMS()
231  {
232 +    if (!checkIfCurrentSessionActive()) {
233 +        return;
234 +    }
235 +
236      KConfigGroup * settings = getCurrentProfile();
237  
238 -    if (!settings)
239 +    if (!settings) {
240          return;
241 +    }
242  
243  #ifdef HAVE_DPMS
244  
245 @@ -535,9 +558,14 @@
246  
247      setBatteryPercent(charge);
248  
249 -    if (Solid::Control::PowerManager::acAdapterState() == Solid::Control::PowerManager::Plugged)
250 +    if (Solid::Control::PowerManager::acAdapterState() == Solid::Control::PowerManager::Plugged) {
251          return;
252 +    }
253  
254 +    if (!checkIfCurrentSessionActive()) {
255 +        return;
256 +    }
257 +
258      if (charge <= PowerDevilSettings::batteryCriticalLevel()) {
259          switch (PowerDevilSettings::batLowAction()) {
260          case Shutdown:
261 @@ -600,6 +628,10 @@
262  
263  void PowerDevilDaemon::buttonPressed(int but)
264  {
265 +    if (!checkIfCurrentSessionActive() || d->screenSaverIface->GetActive()) {
266 +        return;
267 +    }
268 +
269      KConfigGroup * settings = getCurrentProfile();
270  
271      if (!settings)
272 @@ -681,18 +713,30 @@
273  
274  void PowerDevilDaemon::decreaseBrightness()
275  {
276 +    if (!checkIfCurrentSessionActive()) {
277 +        return;
278 +    }
279 +
280      int currentBrightness = qMax(0, (int)(Solid::Control::PowerManager::brightness() - 10));
281      Solid::Control::PowerManager::setBrightness(currentBrightness);
282  }
283  
284  void PowerDevilDaemon::increaseBrightness()
285  {
286 +    if (!checkIfCurrentSessionActive()) {
287 +        return;
288 +    }
289 +
290      int currentBrightness = qMin(100, (int)(Solid::Control::PowerManager::brightness() + 10));
291      Solid::Control::PowerManager::setBrightness(currentBrightness);
292  }
293  
294  void PowerDevilDaemon::shutdownNotification(bool automated)
295  {
296 +    if (!checkIfCurrentSessionActive()) {
297 +        return;
298 +    }
299 +
300      if (!d->lockHandler->setNotificationLock(automated)) {
301          return;
302      }
303 @@ -709,6 +753,10 @@
304  
305  void PowerDevilDaemon::suspendToDiskNotification(bool automated)
306  {
307 +    if (!checkIfCurrentSessionActive()) {
308 +        return;
309 +    }
310 +
311      if (!d->lockHandler->setNotificationLock(automated)) {
312          return;
313      }
314 @@ -725,6 +773,10 @@
315  
316  void PowerDevilDaemon::suspendToRamNotification(bool automated)
317  {
318 +    if (!checkIfCurrentSessionActive()) {
319 +        return;
320 +    }
321 +
322      if (!d->lockHandler->setNotificationLock(automated)) {
323          return;
324      }
325 @@ -741,6 +793,10 @@
326  
327  void PowerDevilDaemon::standbyNotification(bool automated)
328  {
329 +    if (!checkIfCurrentSessionActive()) {
330 +        return;
331 +    }
332 +
333      if (!d->lockHandler->setNotificationLock(automated)) {
334          return;
335      }
336 @@ -757,6 +813,10 @@
337  
338  void PowerDevilDaemon::shutdown(bool automated)
339  {
340 +    if (!checkIfCurrentSessionActive()) {
341 +        return;
342 +    }
343 +
344      if (!d->lockHandler->setJobLock(automated)) {
345          return;
346      }
347 @@ -775,6 +835,10 @@
348  
349  void PowerDevilDaemon::suspendToDisk(bool automated)
350  {
351 +    if (!checkIfCurrentSessionActive()) {
352 +        return;
353 +    }
354 +
355      if (!d->lockHandler->setJobLock(automated)) {
356          return;
357      }
358 @@ -795,6 +859,10 @@
359  
360  void PowerDevilDaemon::suspendToRam(bool automated)
361  {
362 +    if (!checkIfCurrentSessionActive()) {
363 +        return;
364 +    }
365 +
366      if (!d->lockHandler->setJobLock(automated)) {
367          return;
368      }
369 @@ -814,6 +882,10 @@
370  
371  void PowerDevilDaemon::standby(bool automated)
372  {
373 +    if (!checkIfCurrentSessionActive()) {
374 +        return;
375 +    }
376 +
377      if (!d->lockHandler->setJobLock(automated)) {
378          return;
379      }
380 @@ -856,8 +928,12 @@
381       * We make an intensive use of qMin/qMax here to determine the minimum time.
382       */
383  
384 -   // kDebug() << "Polling started, idle time is" << idle << "seconds";
385 +    // kDebug() << "Polling started, idle time is" << idle << "seconds";
386  
387 +    if (!checkIfCurrentSessionActive()) {
388 +        return;
389 +    }
390 +
391      KConfigGroup * settings = getCurrentProfile();
392  
393      if (!settings) {
394 @@ -866,7 +942,7 @@
395  
396      if (!settings->readEntry("dimOnIdle", false) && !settings->readEntry("turnOffIdle", false) &&
397              settings->readEntry("idleAction").toInt() == None) {
398 -     //   kDebug() << "Stopping timer";
399 +        //   kDebug() << "Stopping timer";
400          POLLER_CALL(d->pollLoader->poller(), stopCatchingTimeouts());
401          return;
402      }
403 @@ -891,13 +967,13 @@
404          minTime = qMin(minTime, minDimTime);
405      }
406  
407 -   // kDebug() << "Minimum time is" << minTime << "seconds";
408 +    // kDebug() << "Minimum time is" << minTime << "seconds";
409  
410      if (idle < minTime) {
411          d->status = NoAction;
412          int remaining = minTime - idle;
413          POLLER_CALL(d->pollLoader->poller(), setNextTimeout(remaining * 1000));
414 -     //   kDebug() << "Nothing to do, next event in" << remaining << "seconds";
415 +        //   kDebug() << "Nothing to do, next event in" << remaining << "seconds";
416          return;
417      }
418  
419 @@ -1009,6 +1085,10 @@
420  
421  void PowerDevilDaemon::lockScreen()
422  {
423 +    if (!checkIfCurrentSessionActive()) {
424 +        return;
425 +    }
426 +
427      emitNotification("doingjob", i18n("The screen is being locked"));
428      d->screenSaverIface->Lock();
429  }
430 @@ -1136,6 +1216,10 @@
431  
432  void PowerDevilDaemon::reloadProfile(int state)
433  {
434 +    if (!checkIfCurrentSessionActive()) {
435 +        return;
436 +    }
437 +
438      if (!recacheBatteryPointer()) {
439          setCurrentProfile(PowerDevilSettings::aCProfile());
440      } else {
441 @@ -1186,6 +1270,10 @@
442  
443  void PowerDevilDaemon::setProfile(const QString & profile)
444  {
445 +    if (!checkIfCurrentSessionActive()) {
446 +        return;
447 +    }
448 +
449      setCurrentProfile(profile);
450  
451      /* Don't call refreshStatus() here, since we don't want the predefined profile
452 @@ -1202,6 +1290,10 @@
453  
454  void PowerDevilDaemon::reloadAndStream()
455  {
456 +    if (!checkIfCurrentSessionActive()) {
457 +        return;
458 +    }
459 +
460      reloadProfile();
461  
462      setAvailableProfiles(d->profilesConfig->groupList());
463 @@ -1274,16 +1366,28 @@
464  
465  void PowerDevilDaemon::setPowersavingScheme(const QString &scheme)
466  {
467 +    if (!checkIfCurrentSessionActive()) {
468 +        return;
469 +    }
470 +
471      Solid::Control::PowerManager::setScheme(scheme);
472  }
473  
474  void PowerDevilDaemon::setGovernor(int governor)
475  {
476 +    if (!checkIfCurrentSessionActive()) {
477 +        return;
478 +    }
479 +
480      Solid::Control::PowerManager::setCpuFreqPolicy((Solid::Control::PowerManager::CpuFreqPolicy) governor);
481  }
482  
483  void PowerDevilDaemon::suspend(int method)
484  {
485 +    if (!checkIfCurrentSessionActive()) {
486 +        return;
487 +    }
488 +
489      switch ((IdleAction) method) {
490      case S2Disk:
491          QTimer::singleShot(100, this, SLOT(suspendToDisk()));
492 @@ -1301,6 +1405,10 @@
493  
494  void PowerDevilDaemon::setBrightness(int value)
495  {
496 +    if (!checkIfCurrentSessionActive()) {
497 +        return;
498 +    }
499 +
500      if (value == -2) {
501          // Then set brightness to half the current brightness.
502  
503 @@ -1332,6 +1440,10 @@
504  
505  void PowerDevilDaemon::profileFirstLoad()
506  {
507 +    if (!checkIfCurrentSessionActive()) {
508 +        return;
509 +    }
510 +
511      KConfigGroup * settings = getCurrentProfile();
512  
513      if (!settings)
514 @@ -1411,6 +1523,10 @@
515  
516  void PowerDevilDaemon::setCurrentProfile(const QString &profile)
517  {
518 +    if (!checkIfCurrentSessionActive()) {
519 +        return;
520 +    }
521 +
522      if (profile != d->currentProfile) {
523          d->currentProfile = profile;
524          profileFirstLoad();
525 @@ -1424,4 +1540,62 @@
526      emit profileChanged(d->currentProfile, d->availableProfiles);
527  }
528  
529 +bool PowerDevilDaemon::checkIfCurrentSessionActive()
530 +{
531 +    if (!d->ckAvailable) {
532 +        // No way to determine if we are on the current session, simply suppose we are
533 +        kDebug() << "Can't contact ck";
534 +        return true;
535 +    }
536 +
537 +    QDBusReply<bool> rp = d->ckSessionInterface->call("IsActive");
538 +
539 +    return rp.value();
540 +}
541 +
542 +void PowerDevilDaemon::setUpConsoleKit()
543 +{
544 +    // Let's cache the needed information to check if our session is actually active
545 +
546 +    if (!QDBusConnection::systemBus().interface()->isServiceRegistered("org.freedesktop.ConsoleKit")) {
547 +        // No way to determine if we are on the current session, simply suppose we are
548 +        kDebug() << "Can't contact ck";
549 +        d->ckAvailable = false;
550 +        return;
551 +    } else {
552 +        d->ckAvailable = true;
553 +    }
554 +
555 +    // Otherwise, let's ask ConsoleKit
556 +    QDBusInterface ckiface("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager",
557 +                           "org.freedesktop.ConsoleKit.Manager", QDBusConnection::systemBus());
558 +
559 +    QDBusReply<QDBusObjectPath> sessionPath = ckiface.call("GetCurrentSession");
560 +
561 +    if (!sessionPath.isValid() || sessionPath.value().path().isEmpty()) {
562 +        kDebug() << "The session is not registered with ck";
563 +        d->ckAvailable = false;
564 +        return;
565 +    }
566 +
567 +    d->ckSessionInterface = new QDBusInterface("org.freedesktop.ConsoleKit", sessionPath.value().path(),
568 +            "org.freedesktop.ConsoleKit.Session", QDBusConnection::systemBus());
569 +
570 +    if (!d->ckSessionInterface->isValid()) {
571 +        // As above
572 +        kDebug() << "Can't contact iface";
573 +        d->ckAvailable = false;
574 +        return;
575 +    }
576 +
577 +    /* If everything's fine, let's attach ourself to the ActiveChanged signal.
578 +     * You'll see we're attaching to refreshStatus without any further checks. You know why?
579 +     * refreshStatus already checks if the console is active, so the check is already happening
580 +     * in the underhood
581 +     */
582 +
583 +    QDBusConnection::systemBus().connect("org.freedesktop.ConsoleKit", sessionPath.value().path(),
584 +                                         "org.freedesktop.ConsoleKit.Session", "ActiveChanged", this, SLOT(refreshStatus()));
585 +}
586 +
587  #include "PowerDevilDaemon.moc"
588 --- workspace/powerdevil/daemon/PollSystemLoader.h      (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
589 +++ workspace/powerdevil/daemon/PollSystemLoader.h      (.../branches/KDE/4.2/kdebase)  (wersja 956244)
590 @@ -21,7 +21,7 @@
591  #define POLLSYSTEMLOADER_H
592  
593  #include <QObject>
594 -#include <QMap>
595 +#include <QHash>
596  #include <QPointer>
597  
598  #include "AbstractSystemPoller.h"
599 @@ -34,8 +34,8 @@
600      PollSystemLoader(QObject *parent = 0);
601      virtual ~PollSystemLoader();
602  
603 -    QMap<AbstractSystemPoller::PollingType, QString> getAvailableSystems();
604 -    QMap<int, QString> getAvailableSystemsAsInt();
605 +    QHash<AbstractSystemPoller::PollingType, QString> getAvailableSystems();
606 +    QHash<int, QString> getAvailableSystemsAsInt();
607  
608      bool loadSystem(AbstractSystemPoller::PollingType type);
609      bool unloadCurrentSystem();
610 @@ -48,7 +48,7 @@
611  
612  private:
613      QPointer<AbstractSystemPoller> m_poller;
614 -    QMap<AbstractSystemPoller::PollingType, QString> m_availableSystems;
615 +    QHash<AbstractSystemPoller::PollingType, QString> m_availableSystems;
616  };
617  
618  #endif /* POLLSYSTEMLOADER_H */
619 --- workspace/powerdevil/daemon/PowerDevilDaemon.h      (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
620 +++ workspace/powerdevil/daemon/PowerDevilDaemon.h      (.../branches/KDE/4.2/kdebase)  (wersja 956244)
621 @@ -34,9 +34,6 @@
622  class PollSystemLoader;
623  class SuspensionLockHandler;
624  class KNotification;
625 -class OrgFreedesktopScreenSaverInterface;
626 -class OrgKdeKSMServerInterfaceInterface;
627 -class OrgKdeScreensaverInterface;
628  
629  class KDE_EXPORT PowerDevilDaemon : public KDEDModule
630  {
631 @@ -128,8 +125,8 @@
632  private:
633      void lockScreen();
634  
635 -    void setUpDPMS();  
636 -    
637 +    void setUpDPMS();
638 +
639      KConfigGroup *getCurrentProfile(bool forcereload = false);
640      void applyProfile();
641  
642 @@ -143,6 +140,10 @@
643  
644      bool recacheBatteryPointer(bool force = false);
645  
646 +    void setUpConsoleKit();
647 +
648 +    bool checkIfCurrentSessionActive();
649 +
650  public:
651      enum IdleAction {
652          None = 0,
653 @@ -151,7 +152,8 @@
654          S2Disk = 4,
655          Shutdown = 8,
656          Lock = 16,
657 -        ShutdownDialog = 32
658 +        ShutdownDialog = 32,
659 +        TurnOffScreen = 64
660      };
661  
662      enum IdleStatus {
663 --- workspace/powerdevil/kcmodule/PowerDevilKCM.cpp     (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
664 +++ workspace/powerdevil/kcmodule/PowerDevilKCM.cpp     (.../branches/KDE/4.2/kdebase)  (wersja 956244)
665 @@ -82,8 +82,8 @@
666      if (iface.isValid()) {
667          QDBusConnection conn = QDBusConnection::systemBus();
668  
669 -        if (conn.interface()->isServiceRegistered("org.freedesktop.PowerManagement") ||
670 -                conn.interface()->isServiceRegistered("org.freedesktop.Policy.Power")) {
671 +        if (conn.interface()->isServiceRegistered("org.freedesktop.PowerManagement") || (
672 +         conn.interface()->isServiceRegistered("org.freedesktop.Policy.Power") && !QDBusConnection::sessionBus().interface()->isServiceRegistered("org.kde.powerdevilsystem"))){
673              initError(i18n("Another power manager has been detected. PowerDevil will not start if "
674                             "other power managers are active. If you want to use PowerDevil as your primary "
675                             "power manager, please remove the existing one and restart PowerDevil service."));
676 --- workspace/powerdevil/kcmodule/powerdevilconfig.desktop      (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
677 +++ workspace/powerdevil/kcmodule/powerdevilconfig.desktop      (.../branches/KDE/4.2/kdebase)  (wersja 956244)
678 @@ -61,8 +61,8 @@
679  Name[ru]=Управление питанием
680  Name[sk]=Správa napájania
681  Name[sl]=Upravljanje z energijo
682 -Name[sr]=управљање енергијом
683 -Name[sr@latin]=upravljanje energijom
684 +Name[sr]=Управљање енергијом
685 +Name[sr@latin]=Upravljanje energijom
686  Name[sv]=Strömsparhantering
687  Name[tg]=Идоракунии барқ
688  Name[th]=การจัดการพลังงาน
689 --- workspace/powerdevil/powerdevil.notifyrc    (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
690 +++ workspace/powerdevil/powerdevil.notifyrc    (.../branches/KDE/4.2/kdebase)  (wersja 956244)
691 @@ -50,8 +50,8 @@
692  Name[ru]=Управление питанием
693  Name[sk]=Správa napájania
694  Name[sl]=Upravljanje z energijo
695 -Name[sr]=управљање енергијом
696 -Name[sr@latin]=upravljanje energijom
697 +Name[sr]=Управљање енергијом
698 +Name[sr@latin]=Upravljanje energijom
699  Name[sv]=Strömsparhantering
700  Name[tg]=Идоракунии барқ
701  Name[th]=การจัดการพลังงาน
702 --- workspace/krunner/interfaces/default/interface.cpp  (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
703 +++ workspace/krunner/interfaces/default/interface.cpp  (.../branches/KDE/4.2/kdebase)  (wersja 956244)
704 @@ -114,6 +114,7 @@
705      m_layout->addWidget(m_buttonContainer);
706  
707      m_searchTerm = new KHistoryComboBox(false, w);
708 +    m_searchTerm->setPalette(QApplication::palette());
709      m_searchTerm->setDuplicatesEnabled(false);
710  
711      KLineEdit *lineEdit = new KLineEdit(m_searchTerm);
712 @@ -400,7 +401,6 @@
713  
714      kDebug() << item->name() << item->id();
715      m_delayedRun = false;
716 -    m_searchTerm->addToHistory(m_searchTerm->currentText());
717  
718      if (item->group() == Plasma::QueryMatch::InformationalMatch) {
719          QString info = item->data();
720 @@ -416,6 +416,9 @@
721      close();
722      m_resultsScene->run(item);
723      m_running = false;
724 +
725 +    //TODO: check if run succesful before adding the term to history
726 +    m_searchTerm->addToHistory(m_searchTerm->currentText().trimmed());
727      resetInterface();
728  }
729  
730 --- workspace/krunner/interfaces/default/resultscene.cpp        (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
731 +++ workspace/krunner/interfaces/default/resultscene.cpp        (.../branches/KDE/4.2/kdebase)  (wersja 956244)
732 @@ -323,14 +323,14 @@
733  
734  bool ResultScene::launchQuery(const QString &term)
735  {
736 -    bool temp = !(term.isEmpty() || m_runnerManager->query() == term);
737 +    bool temp = !(term.trimmed().isEmpty() || m_runnerManager->query() == term.trimmed());
738      m_runnerManager->launchQuery(term);
739      return temp;
740  }
741  
742  bool ResultScene::launchQuery(const QString &term, const QString &runner)
743  {
744 -    bool temp = !(term.isEmpty() || m_runnerManager->query() == term);
745 +    bool temp = !(term.trimmed().isEmpty() || m_runnerManager->query() == term.trimmed());
746      m_runnerManager->launchQuery(term, runner);
747      return temp;
748  }
749 --- workspace/libs/kephal/xrandr12/randrcrtc.cpp        (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
750 +++ workspace/libs/kephal/xrandr12/randrcrtc.cpp        (.../branches/KDE/4.2/kdebase)  (wersja 956244)
751 @@ -282,7 +282,10 @@
752          {
753              QRect r = QRect(0,0,0,0).united(m_proposedRect);
754              if (r.width() > m_screen->maxSize().width() || r.height() > m_screen->maxSize().height())
755 +            {
756 +                delete[] outputs;
757                  return false;
758 +            }
759  
760              // if the desired mode is bigger than the current screen size, first change the 
761              // screen size, and then the crtc size
762 @@ -290,7 +293,10 @@
763              {
764                  // try to adjust the screen size
765                  if (!m_screen->adjustSize(r))
766 +                {
767 +                    delete[] outputs;
768                      return false;
769 +                }
770              }
771  
772          }
773 @@ -303,12 +309,18 @@
774                  // check if the rotated rect is smaller than the max screen size
775                  r = m_screen->rect().united(r);
776                  if (r.width() > m_screen->maxSize().width() || r.height() > m_screen->maxSize().height())
777 +                {
778 +                    delete[] outputs;
779                      return false;
780 +                }
781                  
782                  // adjust the screen size
783                  r = r.united(m_currentRect);
784                  if (!m_screen->adjustSize(r))
785 +                {
786 +                    delete[] outputs;
787                      return false;
788 +                }
789              }
790          }
791      }
792 --- workspace/libs/taskmanager/task.cpp (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
793 +++ workspace/libs/taskmanager/task.cpp (.../branches/KDE/4.2/kdebase)  (wersja 956244)
794 @@ -293,7 +293,7 @@
795  
796  bool Task::demandsAttention() const
797  {
798 -    return (d->info.valid() && (d->info.state() & NET::DemandsAttention)) ||
799 +    return (d->info.valid(true) && (d->info.state() & NET::DemandsAttention)) ||
800              !d->transientsDemandingAttention.isEmpty();
801  }
802  
803 --- workspace/kscreensaver/libkscreensaver/kscreensaver.h       (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
804 +++ workspace/kscreensaver/libkscreensaver/kscreensaver.h       (.../branches/KDE/4.2/kdebase)  (wersja 956244)
805 @@ -64,7 +64,11 @@
806      bool event( QEvent* event );
807  
808  private:
809 -    KScreenSaverPrivate *d;
810 +    //Note: To keep binary compatibility this class must have only one member, which is a pointer.
811 +    //      If more members are needed, use the d-pointer technique.
812 +    //      See http://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B
813 +    //KScreenSaverPrivate *d;
814 +    QWidget *embeddedWidget;
815  };
816  
817  /**
818 --- workspace/kscreensaver/libkscreensaver/kscreensaver.cpp     (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
819 +++ workspace/kscreensaver/libkscreensaver/kscreensaver.cpp     (.../branches/KDE/4.2/kdebase)  (wersja 956244)
820 @@ -33,7 +33,7 @@
821  
822  //-----------------------------------------------------------------------------
823  
824 -KScreenSaver::KScreenSaver( WId id ) : QWidget()
825 +KScreenSaver::KScreenSaver( WId id ) : QWidget(), embeddedWidget(0)
826  {
827      if ( id )
828      {
829 @@ -51,16 +51,20 @@
830      bool r = QWidget::event(e);
831      if (e->type() == QEvent::Polish)
832          setAttribute(Qt::WA_StyledBackground, false);
833 +    if ((e->type() == QEvent::Resize) && embeddedWidget)
834 +        embeddedWidget->resize( size() );
835      return r;
836  }
837  
838  void KScreenSaver::embed( QWidget *w )
839  {
840 +    w->resize( size() );
841      QApplication::sendPostedEvents();
842  #ifdef Q_WS_X11 //FIXME
843      XReparentWindow(QX11Info::display(), w->winId(), winId(), 0, 0);
844  #endif
845      w->setGeometry( 0, 0, width(), height() );
846 +    embeddedWidget = w;
847      QApplication::sendPostedEvents();
848  }
849  
850 --- workspace/khotkeys/data/kde32b1.khotkeys    (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
851 +++ workspace/khotkeys/data/kde32b1.khotkeys    (.../branches/KDE/4.2/kdebase)  (wersja 956244)
852 @@ -490,7 +490,7 @@
853  Comment[pt]=Depois carregar em Alt+Ctrl+H, será simulada a escrita de 'Olá', tal como se tivesse escrito de facto. É especialmente útil se você não quiser estar a escrever coisas do tipo 'unsigned'. Sempre que carregar numa tecla do campo de texto será separado por dois-pontos ':'. Repare que o carregar de teclas é mesmo o carregar de teclas, pelo que terá de escrever realmente o que deseja no teclado. Na tabela abaixo, a coluna esquerda mostra o texto introduzido e a coluna à direita mostra o que é necessário escrever.\n\n"enter" (i.e. mudança de linha)                Enter ou Return\na (i.e. 'a' minúsculo)                          A\nA (i.e. 'a' maiúsculo)                       Shift+A\n: (dois-pontos)                                  Shift+;\n' '  (espaço)                              Espaço
854  Comment[pt_BR]=Após pressionar Alt+Ctrl+H, a entrada 'Hello' será simulada como se você a tivesse digitado. Especialmente útil se você está com preguiça de digitar coisas como 'unsigned'. Cada tecla pressionada na entrada é separada por dois-pontos ':' . Note que teclas pressionadas significa realmente teclas pressionadas, então você tem que escrever o que queria pressionar realmente no teclado. Na tabela abaixo, a coluna da esquerda mostra a entrada e a coluna da direita mostra o que você digitou.\n\n"enter" (i.e. nova linha)                Enter ou Return\na (i.e. a minúsculo)                          A\nA (i.e. a maiúsculo)                       Shift+A\n: (dois-pontos)                                  Shift+;\n' '  (espaço)                              Espaço
855  Comment[ro]=După apăsarea Alt+Ctrl+H, intrarea „Salut” va fi simulată ca și cînd ați fi tastat-o dumneavoastră. Este deosebit de utilă dacă vă e lene să tastați cuvinte ca „unsigned”. Fiecare tastare în intrare este despărțită de „:”. Luați aminte că tastările înseamnă chiar apăsări de taste, deci trebuie să scrieți exact ceea ce ați apăsa pe tastatură. În tabelul de mai jos, coloana stîngă arată intrarea iar cea dreptă - ce trebuie să scrieți.\n\n"enter" (linie nouă)                Enter sau Retur\na („a” mic)                          A\nA (A majuscul)                       Shift+A\n: (două puncte)                                  Shift+;\n' '  (spațiu)                              Spațiu
856 -Comment[ru]=При нажатии комбинации клавиш Alt+Ctrl+H будет эмулирован ввод слова "Hello" как будто бы вы набивали его вручную с клавиатуры.
857 +Comment[ru]=При нажатии комбинации клавиш Alt+Ctrl+H будет эмулирован ввод слова «Hello» как будто бы вы набивали его вручную с клавиатуры.
858  Comment[sk]=Po stlačení Alt+Ctrl+H bude simulovaný vstup 'Hello' presne tak, ako keby ste ho napísali. Mimoriadne užitočné, ak ste lenivý písať veci ako 'unsigned'. Každé stlačenie klávesu je oddelené dvojbodkou ':'. Všimnite si, že stlačenia klávesu znamenajú skutočné stlačenie, takže musíte napísať, čo v skutočnosti na klávesnici stláčate. V tabuľke nižšie ukazuje ľavý stĺpec vstup a pravý stĺpec, čo treba napísať.\n\n"enter" (t.j. nový riadok)                Enter alebo Return\na (t.j. malé a)                          A\nA (t.j. veľké a)                       Shift+A\n: (dvojbodka)                                  Shift+;\n' '  (medzera)                              Medzera
859  Comment[sl]=Po pritisku Alt+Ctrl+H se bo vnesla beseda »Hello«, kot da bi jo vtipkali. Uporabno, če se vam ne da tipkati dolgih besed ali nizov besed. Pritiski tipk so v polju ločeni z dvopičjem »:«. Pomnite, da pritiski tipk pomenijo prav to. Zato morate vnesti točno to, kar bi pritisnili na tipkovnici. V spodnji razpredelnici je v levem stolpcu prikazan vnos, v desnem pa, kaj je zanj potrebno pritisniti na tipkovnici.\n\n"vnos" (nova vrstica)                Vnos ali Vračalka\na (mali a)                          A\nA (veliki a)                       Shift+A\n: (dvopičje)                                  Shift+.\n' '  (presledek)                              Preslednica
860  Comment[sr]=Притисак на Ctrl+Alt+H симулираће унос „Hello“ као да сте га укуцали тастатуром. Врло корисно када сте исувише лењи да стално уносите „unsigned“ и томе слично. Сваки притисак тастера у уносу раздваја се двотачком (:). Пазите да под притиском на тастер заиста то и мислимо, тј. морате унети тачно оно што бисте притиснули на тастатури. У табели испод, лева колона приказује унос, а десна шта за треба да се притисне.\n\n„enter“ (тј. нов ред)                Enter или Return\na (тј. мало a)                          A\nA (тј. велико a)                       Shift+A\n: (двотачка)                                  Shift+;\n' '  (размак)                              Space
861 --- workspace/kwin/effects/taskbarthumbnail.desktop     (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
862 +++ workspace/kwin/effects/taskbarthumbnail.desktop     (.../branches/KDE/4.2/kdebase)  (wersja 956244)
863 @@ -107,7 +107,7 @@
864  Comment[sv]=Visa miniatyrbilder av fönster när pekaren hålls över deras post i aktivitetsfältet
865  Comment[th]=แสดงภาพย่อของหน้าต่างเมื่อเคลื่อนเมาส์มาอยู่เหนือรายการในแถบงาน
866  Comment[tr]=Bir pencerenin görev çubuğundaki girdisi üzerine gelindiğinde o pencerenin küçük resmini gösterir
867 -Comment[uk]=Показує мініатюри вікон, коли курсор знаходиться над елементом панелі задач
868 +Comment[uk]=Показує мініатюри вікон, коли вказівник знаходиться над елементом панелі задач
869  Comment[x-test]=xxDisplay window thumbnails when hovering over taskbar entriesxx
870  Comment[zh_CN]=当鼠标悬停在任务栏时显示窗口缩略图
871  Comment[zh_TW]=當游標停在工作列的按鈕上面時,顯示視窗的縮圖
872 --- workspace/kwin/effects/magiclamp.cpp        (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
873 +++ workspace/kwin/effects/magiclamp.cpp        (.../branches/KDE/4.2/kdebase)  (wersja 956244)
874 @@ -26,12 +26,17 @@
875  {
876  
877  KWIN_EFFECT( magiclamp, MagicLampEffect )
878 +KWIN_EFFECT_SUPPORTED( magiclamp, MagicLampEffect::supported() )
879  
880  MagicLampEffect::MagicLampEffect()
881      {
882      mActiveAnimations = 0;
883      }
884  
885 +bool MagicLampEffect::supported()
886 +    {
887 +    return effects->compositingType() == OpenGLCompositing;
888 +    }
889  
890  void MagicLampEffect::prePaintScreen( ScreenPrePaintData& data, int time )
891      {
892 --- workspace/kwin/effects/magiclamp.h  (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
893 +++ workspace/kwin/effects/magiclamp.h  (.../branches/KDE/4.2/kdebase)  (wersja 956244)
894 @@ -40,6 +40,8 @@
895          virtual void windowMinimized( EffectWindow* c );
896          virtual void windowUnminimized( EffectWindow* c );
897  
898 +        static bool supported();
899 +
900      private:
901          QHash< EffectWindow*, TimeLine > mTimeLineWindows;
902          int mActiveAnimations;
903 --- workspace/kwin/effects/desktopgrid.desktop  (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
904 +++ workspace/kwin/effects/desktopgrid.desktop  (.../branches/KDE/4.2/kdebase)  (wersja 956244)
905 @@ -71,6 +71,7 @@
906  Name[zh_TW]=桌面格
907  Icon=preferences-system-windows-effect-desktop-grid
908  Comment=Zoom out so all desktops are displayed side-by-side in a grid
909 +Comment[bg]=Работните плотове да се показват един до друг в мрежа
910  Comment[ca]=Redueix tots els escriptoris per a visualitzar-los un al costat de l'altre en una graella
911  Comment[cs]=Oddálí plochy a zobrazí je v mřížce
912  Comment[da]=Zoom ud så alle desktoppe vises side om side i et gitter
913 --- workspace/kwin/main.cpp     (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
914 +++ workspace/kwin/main.cpp     (.../branches/KDE/4.2/kdebase)  (wersja 956244)
915 @@ -177,7 +177,7 @@
916          return 0;
917  
918      //fprintf( stderr, "kwin: X Error (%s)\n", KXErrorHandler::errorMessage( *e, d ).data());
919 -    fprintf( stderr, "kwin: X Error (%s)\n", errorMessage( *e, d ).data() );
920 +    kWarning( 1212 ) << "kwin: X Error (" << errorMessage( *e, d ) << ")";
921  
922      if( kwin_sync )
923      fprintf( stderr, "%s\n", kBacktrace().toLocal8Bit().data() );
924 --- workspace/kdm/kfrontend/sessions/icewm.desktop      (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
925 +++ workspace/kdm/kfrontend/sessions/icewm.desktop      (.../branches/KDE/4.2/kdebase)  (wersja 956244)
926 @@ -18,7 +18,7 @@
927  Comment[ar]=مدير نوافذ يشبه نوافذ 95-OS/2 
928  Comment[be]=Кіраўнік вокнаў, падобны на Windows 95-OS/2-Motif
929  Comment[be@latin]=Akońnik, jaki vyhladaje, jak spałučeńnie systemaŭ „Windows 95”, „OS/2” i „Motif”
930 -Comment[bg]=Мениждър, приличащ на Windows 95-OS/2-Motif
931 +Comment[bg]=Мениджър, приличащ на Windows 95-OS/2-Motif
932  Comment[bn]=Windows 95-OS/2-Motif-এর অনুরূপ একটি উইণ্ডো ম্যানেজার
933  Comment[bn_IN]=Windows 95-OS/2-Motif-এর অনুরূপ একটি উইণ্ডো ম্যানেজার
934  Comment[ca]=Un gestor de finestres com els de Windows 95-OS/2-Motif
935 --- workspace/ksysguard/ksysguardd/Command.c    (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
936 +++ workspace/ksysguard/ksysguardd/Command.c    (.../branches/KDE/4.2/kdebase)  (wersja 956244)
937 @@ -126,6 +126,7 @@
938    Command* cmd = (Command*)malloc( sizeof( Command ) );
939    if(!cmd || !(cmd->command = (char*)malloc( strlen( command ) + 1 ))) {
940      print_error("Out of memory");
941 +    free(cmd);
942      return;
943    }
944    strcpy( cmd->command, command );
945 @@ -166,6 +167,7 @@
946    Command* cmd = (Command*)malloc( sizeof( Command ) );
947    if(!cmd || !(cmd->command = (char*)malloc( strlen( command ) + 1 ))) {
948        print_error("Out of memory");
949 +      free(cmd);
950        return;
951    }
952  
953 @@ -174,6 +176,7 @@
954    cmd->type = (char*)malloc( strlen( type ) + 1 );
955    if(!cmd->type ) {
956        print_error("Out of memory");
957 +      free(cmd);
958        return;
959    }
960  
961 @@ -192,6 +195,7 @@
962    cmd->command = (char*)malloc( strlen( command ) + 2 );
963    if(!cmd->command ) {
964        print_error("Out of memory");
965 +      free(cmd);
966        return;
967    }
968  
969 --- workspace/plasma/dataengines/powermanagement/plasma-dataengine-powermanagement.desktop      (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
970 +++ workspace/plasma/dataengines/powermanagement/plasma-dataengine-powermanagement.desktop      (.../branches/KDE/4.2/kdebase)  (wersja 956244)
971 @@ -50,8 +50,8 @@
972  Name[ru]=Управление питанием
973  Name[sk]=Správa napájania
974  Name[sl]=Upravljanje z energijo
975 -Name[sr]=управљање енергијом
976 -Name[sr@latin]=upravljanje energijom
977 +Name[sr]=Управљање енергијом
978 +Name[sr@latin]=Upravljanje energijom
979  Name[sv]=Strömsparhantering
980  Name[tg]=Идоракунии барқ
981  Name[th]=การจัดการพลังงาน
982 --- workspace/plasma/shells/desktop/panelview.cpp       (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
983 +++ workspace/plasma/shells/desktop/panelview.cpp       (.../branches/KDE/4.2/kdebase)  (wersja 956244)
984 @@ -60,6 +60,10 @@
985          KWindowSystem::setType(winId(), NET::Dock);
986          m_svg->setImagePath("widgets/glowbar");
987  
988 +        QPalette pal = palette();
989 +        pal.setColor(backgroundRole(), Qt::transparent);
990 +        setPalette(pal);
991 +
992          QRect glowGeom = triggerZone;
993          QSize s = sizeHint();
994          switch (m_direction) {
995 --- workspace/plasma/runners/locations/locationrunner.cpp       (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
996 +++ workspace/plasma/runners/locations/locationrunner.cpp       (.../branches/KDE/4.2/kdebase)  (wersja 956244)
997 @@ -93,7 +93,6 @@
998          match.setText(i18n("Open %1", term));
999          match.setIcon(KIcon("system-help"));
1000          match.setRelevance(1);
1001 -        match.setRelevance(1);
1002          match.setType(Plasma::QueryMatch::ExactMatch);
1003          match.setId("help");
1004          context.addMatch(term, match);
1005 --- workspace/plasma/tools/desktopthemedetails/desktopthemedetails.desktop      (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
1006 +++ workspace/plasma/tools/desktopthemedetails/desktopthemedetails.desktop      (.../branches/KDE/4.2/kdebase)  (wersja 956244)
1007 @@ -11,6 +11,7 @@
1008  Name=Desktop Theme Details
1009  Name[ar]=تفاصيل سمة سطح المكتب
1010  Name[be@latin]=Detali matyva dla rabočaha stała
1011 +Name[bg]=Детайли на темите
1012  Name[ca]=Detalls del tema d'escriptori
1013  Name[cs]=Detaily motivu plochy
1014  Name[csb]=Wëdowiédzô ò témie pùltu
1015 --- workspace/plasma/applets/calendar/calendar.h        (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
1016 +++ workspace/plasma/applets/calendar/calendar.h        (.../branches/KDE/4.2/kdebase)  (wersja 956244)
1017 @@ -45,12 +45,9 @@
1018           */
1019          QGraphicsWidget *graphicsWidget();
1020  
1021 -    protected:
1022 -        void updateDate();
1023 -        void timerEvent(QTimerEvent *event);
1024 -
1025      protected slots:
1026          void configAccepted();
1027 +        void updateDate();
1028  
1029      private:
1030          void paintIcon();
1031 @@ -58,7 +55,6 @@
1032          Plasma::Calendar *m_calendarDialog;
1033          Plasma::Svg *m_theme;
1034          int m_date;
1035 -        int m_updateTimerId;
1036  };
1037  
1038  K_EXPORT_PLASMA_APPLET(calendar, CalendarTest)
1039 --- workspace/plasma/applets/calendar/calendar.cpp      (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
1040 +++ workspace/plasma/applets/calendar/calendar.cpp      (.../branches/KDE/4.2/kdebase)  (wersja 956244)
1041 @@ -19,6 +19,7 @@
1042  
1043  #include <QGraphicsLayout>
1044  #include <QPainter>
1045 +#include <QTimer>
1046  
1047  #include <KDebug>
1048  #include <KIcon>
1049 @@ -34,8 +35,7 @@
1050      : Plasma::PopupApplet(parent, args),
1051      m_calendarDialog(0),
1052      m_theme(0),
1053 -    m_date(0),
1054 -    m_updateTimerId(0)
1055 +    m_date(0)
1056  {
1057      setAspectRatioMode(Plasma::IgnoreAspectRatio);
1058      setCacheMode(DeviceCoordinateCache);
1059 @@ -116,18 +116,9 @@
1060      QDateTime d = QDateTime::currentDateTime();
1061      m_date = d.date().day();
1062      int updateIn = (24 * 60 * 60) - (d.toTime_t() + KSystemTimeZones::local().currentOffset()) % (24 * 60 * 60);
1063 -    m_updateTimerId = startTimer(updateIn * 1000);
1064 +    QTimer::singleShot(updateIn * 1000, this, SLOT(updateDate()));
1065      constraintsEvent(Plasma::FormFactorConstraint);
1066  }
1067  
1068 -void CalendarTest::timerEvent(QTimerEvent *event)
1069 -{
1070 -    if (event->timerId() != m_updateTimerId) {
1071 -        return;
1072 -    }
1073  
1074 -    killTimer(m_updateTimerId);
1075 -    updateDate();
1076 -}
1077 -
1078  #include "calendar.moc"
1079 --- workspace/plasma/applets/system-monitor/net.cpp     (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
1080 +++ workspace/plasma/applets/system-monitor/net.cpp     (.../branches/KDE/4.2/kdebase)  (wersja 956244)
1081 @@ -89,7 +89,7 @@
1082      plotter->addPlot(QColor(((color.red() - 128) * 0.90) + 128, 0, 0, color.alpha()));
1083      plotter->setUseAutoRange(true);
1084      plotter->setThinFrame(false);
1085 -    plotter->setShowLabels(false);
1086 +    plotter->setShowLabels(true);
1087      plotter->setShowTopBar(false);
1088      plotter->setShowVerticalLines(false);
1089      plotter->setShowHorizontalLines(false);
1090 --- workspace/plasma/applets/battery/battery.cpp        (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
1091 +++ workspace/plasma/applets/battery/battery.cpp        (.../branches/KDE/4.2/kdebase)  (wersja 956244)
1092 @@ -818,13 +818,6 @@
1093          m_theme->paint(p, scaleRectF(m_acAlpha, contentsRect), "AcAdapter");
1094      }
1095  
1096 -    // For small FormFactors, we're drawing a shadow
1097 -    if (formFactor() == Plasma::Vertical ||
1098 -        formFactor() == Plasma::Horizontal) {
1099 -        if (plugState) {
1100 -            m_theme->paint(p, contentsRect, "Shadow");
1101 -        }
1102 -    }
1103      if (plugState && m_theme->hasElement("Overlay")) {
1104          m_theme->paint(p, scaleRectF(m_batteryAlpha, contentsRect), "Overlay");
1105      }
1106 --- workspace/plasma/applets/kickoff/ui/launcher.cpp    (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
1107 +++ workspace/plasma/applets/kickoff/ui/launcher.cpp    (.../branches/KDE/4.2/kdebase)  (wersja 956244)
1108 @@ -765,21 +765,34 @@
1109      if (d->placement != placement) {
1110          d->placement = placement;
1111  
1112 +        Private::TabOrder normalOrder;
1113 +        Private::TabOrder reverseOrder;
1114 +
1115 +        //QTabBar attempts to be smart and flips what we say in rtl mode so say the opposite when the tabbar is horizontal
1116 +        if (QApplication::layoutDirection() == Qt::RightToLeft) {
1117 +            normalOrder = Private::ReverseTabOrder;
1118 +            reverseOrder = Private::NormalTabOrder;
1119 +        } else {
1120 +            normalOrder = Private::NormalTabOrder;
1121 +            reverseOrder = Private::ReverseTabOrder;
1122 +        }
1123 +
1124          switch (placement) {
1125          case Plasma::TopPosedRightAlignedPopup:
1126 -            d->setSouthLayout(Private::ReverseTabOrder);
1127 +            d->setSouthLayout(reverseOrder);
1128              break;
1129          case Plasma::LeftPosedTopAlignedPopup:
1130 +            //when the tabbar is vertical it's fine
1131              d->setEastLayout(Private::NormalTabOrder);
1132              break;
1133          case Plasma::LeftPosedBottomAlignedPopup:
1134              d->setEastLayout(Private::ReverseTabOrder);
1135              break;
1136          case Plasma::BottomPosedLeftAlignedPopup:
1137 -            d->setNorthLayout(Private::NormalTabOrder);
1138 +            d->setNorthLayout(normalOrder);
1139              break;
1140          case Plasma::BottomPosedRightAlignedPopup:
1141 -            d->setNorthLayout(Private::ReverseTabOrder);
1142 +            d->setNorthLayout(reverseOrder);
1143              break;
1144          case Plasma::RightPosedTopAlignedPopup:
1145              d->setWestLayout(Private::NormalTabOrder);
1146 @@ -789,7 +802,7 @@
1147              break;
1148          case Plasma::TopPosedLeftAlignedPopup:
1149          default:
1150 -            d->setSouthLayout(Private::NormalTabOrder);
1151 +            d->setSouthLayout(normalOrder);
1152              break;
1153          }
1154      }
1155 --- workspace/plasma/scriptengines/webkit/plasma-packagestructure-dashboard.desktop     (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
1156 +++ workspace/plasma/scriptengines/webkit/plasma-packagestructure-dashboard.desktop     (.../branches/KDE/4.2/kdebase)  (wersja 956244)
1157 @@ -49,7 +49,7 @@
1158  Name[uk]=Віджети панелі приладів MacOS
1159  Name[x-test]=xxMacOS Dashboard Widgetsxx
1160  Name[zh_CN]=MacOS 部件板部件
1161 -Name[zh_TW]=MacOS 儀表板元件
1162 +Name[zh_TW]=MacOS 資訊看板元件
1163  Comment=MacOS dashboard widget
1164  Comment[ar]=ودجة لوحة MacOS
1165  Comment[be@latin]=Widžet „Dashboard” dla systemy „MacOS”
1166 @@ -104,7 +104,7 @@
1167  Comment[uk]=Віджет панелі приладів MacOS
1168  Comment[x-test]=xxMacOS dashboard widgetxx
1169  Comment[zh_CN]=MacOS 部件板
1170 -Comment[zh_TW]=MacOS 儀表板元件
1171 +Comment[zh_TW]=MacOS 資訊看板元件
1172  Type=Service
1173  ServiceTypes=Plasma/PackageStructure
1174  
1175 --- workspace/plasma/scriptengines/webkit/plasma-scriptengine-applet-dashboard.desktop  (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
1176 +++ workspace/plasma/scriptengines/webkit/plasma-scriptengine-applet-dashboard.desktop  (.../branches/KDE/4.2/kdebase)  (wersja 956244)
1177 @@ -38,7 +38,7 @@
1178  Name[uk]=Панель приладів
1179  Name[x-test]=xxDashboardxx
1180  Name[zh_CN]=部件板
1181 -Name[zh_TW]=儀表板
1182 +Name[zh_TW]=資訊看板
1183  Comment=MacOS X dashboard widget
1184  Comment[ar]=لوحة ودجات MacOS
1185  Comment[be@latin]=Widžet „Dashboard” systemy „MacOS X”.
1186 @@ -93,7 +93,7 @@
1187  Comment[uk]=Віджет панелі приладів MacOS X
1188  Comment[x-test]=xxMacOS X dashboard widgetxx
1189  Comment[zh_CN]=MacOS X 部件板
1190 -Comment[zh_TW]=MacOS X 儀表板元件
1191 +Comment[zh_TW]=MacOS X 資訊看板元件
1192  Type=Service
1193  ServiceTypes=Plasma/ScriptEngine
1194  Icon=internet-web-browser
1195 --- workspace/plasma/scriptengines/javascript/tests/script-digital-clock/metadata.desktop       (.../tags/KDE/4.2.2/kdebase)    (wersja 956244)
1196 +++ workspace/plasma/scriptengines/javascript/tests/script-digital-clock/metadata.desktop       (.../branches/KDE/4.2/kdebase)  (wersja 956244)
1197 @@ -16,6 +16,7 @@
1198  Name[x-test]=xxscript-digital-clockxx
1199  Name[zh_CN]=脚本-数字钟
1200  Comment=Javascript digital clock
1201 +Comment[bg]=Цифров часовник (JavaScript)
1202  Comment[ca]=Rellotge digital en Javascript
1203  Comment[cs]=Digitální hodiny v JavaScriptu
1204  Comment[da]=Digitalt ur i Javascript
This page took 0.208266 seconds and 2 git commands to generate.