[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.5/kdebase/workspace/plasma/generic/applets/systemtray
From:       Marco Martin <notmart () gmail ! com>
Date:       2010-07-20 9:23:14
Message-ID: 20100720092315.026E1AC76D () svn ! kde ! org
[Download RAW message or body]

SVN commit 1152065 by mart:

backport default global shortcut assignment


 M  +8 -1      protocols/dbussystemtray/dbussystemtraytask.cpp  
 M  +8 -1      ui/applet.cpp  
 M  +4 -0      ui/applet.h  


--- branches/KDE/4.5/kdebase/workspace/plasma/generic/applets/systemtray/protocols/dbussystemtray/dbussystemtraytask.cpp \
#1152064:1152065 @@ -186,12 +186,19 @@
 
             KConfigGroup cg = i.key()->config();
             KConfigGroup shortcutsConfig = KConfigGroup(&cg, "Shortcuts");
-            QString shortcutText = \
shortcutsConfig.readEntryUntranslated(icon->action()->objectName(), QString()); +
+            //FIXME: quite ugly, checks if the applet is klipper and if is less than \
2 widgets have been created. if so, assign a default global shortcut +            \
QString shortcutText; +            if (i.key()->property("firstRun").toBool() == true \
&& name() == "Klipper" && widgetsByHost().count() < 2) { +                \
shortcutText = "Ctrl+Alt+V"; +            }
+            shortcutText = \
shortcutsConfig.readEntryUntranslated(icon->action()->objectName(), shortcutText);  \
KAction *action = qobject_cast<KAction *>(icon->action());  if (action && \
!shortcutText.isEmpty()) {  action->setGlobalShortcut(KShortcut(shortcutText),
                             KAction::ShortcutTypes(KAction::ActiveShortcut | \
KAction::DefaultShortcut),  KAction::NoAutoloading);
+                shortcutsConfig.writeEntry(icon->action()->objectName(), \
shortcutText);  }
 
             ++i;
--- branches/KDE/4.5/kdebase/workspace/plasma/generic/applets/systemtray/ui/applet.cpp \
#1152064:1152065 @@ -84,7 +84,8 @@
 Applet::Applet(QObject *parent, const QVariantList &arguments)
     : Plasma::PopupApplet(parent, arguments),
       m_taskArea(0),
-      m_background(0)
+      m_background(0),
+      m_firstRun(true)
 {
     if (!s_manager) {
         s_manager = new SystemTray::Manager();
@@ -156,6 +157,11 @@
     configChanged();
 }
 
+bool Applet::isFirstRun()
+{
+    return m_firstRun;
+}
+
 QGraphicsWidget *Applet::graphicsWidget()
 {
     return m_taskArea->hiddenTasksWidget();
@@ -689,6 +695,7 @@
 void Applet::checkDefaultApplets()
 {
     if (config().readEntry("DefaultAppletsAdded", false)) {
+        m_firstRun = false;
         return;
     }
 
--- branches/KDE/4.5/kdebase/workspace/plasma/generic/applets/systemtray/ui/applet.h \
#1152064:1152065 @@ -48,6 +48,7 @@
 class Applet : public Plasma::PopupApplet
 {
     Q_OBJECT
+    Q_PROPERTY(bool firstRun READ isFirstRun)
 
 public:
     explicit Applet(QObject *parent, const QVariantList &arguments = \
QVariantList()); @@ -58,6 +59,7 @@
     void constraintsEvent(Plasma::Constraints constraints);
     Manager *manager() const;
     QSet<Task::Category> shownCategories() const;
+    bool isFirstRun();
 
 protected:
     void paintInterface(QPainter *painter, const QStyleOptionGraphicsItem *option, \
const QRect &contentsRect); @@ -94,6 +96,8 @@
     Ui::VisibleItemsConfig m_visibleItemsUi;
 
     QWeakPointer<QStandardItemModel> m_visibleItemsSourceModel;
+
+    bool m_firstRun;
 };
 
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic