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

List:       kde-commits
Subject:    [calligra] krita/plugins/extensions/dockers/compositiondocker: add up and down key support for fast
From:       Sven Langkamp <sven.langkamp () gmail ! com>
Date:       2013-01-31 21:45:31
Message-ID: 20130131214531.4891AA6091 () git ! kde ! org
[Download RAW message or body]

Git commit 96accd9e65d167f0969cf8344890fad753902b56 by Sven Langkamp.
Committed on 31/01/2013 at 22:44.
Pushed by langkamp into branch 'master'.

add up and down key support for fast forward through compositions

M  +25   -0    krita/plugins/extensions/dockers/compositiondocker/compositiondocker_dock.cpp
 M  +3    -0    krita/plugins/extensions/dockers/compositiondocker/compositiondocker_dock.h


http://commits.kde.org/calligra/96accd9e65d167f0969cf8344890fad753902b56

diff --git a/krita/plugins/extensions/dockers/compositiondocker/compositiondocker_dock.cpp \
b/krita/plugins/extensions/dockers/compositiondocker/compositiondocker_dock.cpp index \
                e80cff2..5d0b6b3 100644
--- a/krita/plugins/extensions/dockers/compositiondocker/compositiondocker_dock.cpp
+++ b/krita/plugins/extensions/dockers/compositiondocker/compositiondocker_dock.cpp
@@ -45,6 +45,7 @@ CompositionDockerDock::CompositionDockerDock( ) : \
QDockWidget(i18n("Compositions  setupUi(widget);
     m_model = new CompositionModel(this);
     compositionView->setModel(m_model);
+    compositionView->installEventFilter(this);
     deleteButton->setIcon(koIcon("edit-delete"));
     saveButton->setIcon(koIcon("list-add"));
     exportButton->setIcon(koIcon("document-export"));
@@ -153,4 +154,28 @@ void CompositionDockerDock::exportClicked()
     }
 }
 
+bool CompositionDockerDock::eventFilter(QObject* obj, QEvent* event)
+{
+     if (event->type() == QEvent::KeyPress ) {
+         QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
+         if (keyEvent->key() == Qt::Key_Up || keyEvent->key() == Qt::Key_Down) {
+             // new index will be set after the method is called
+             QTimer::singleShot(0, this, SLOT(activateCurrentIndex()));
+         }
+         return false;
+     } else {
+         return QObject::eventFilter(obj, event);
+     }
+}
+
+void CompositionDockerDock::activateCurrentIndex()
+{
+    QModelIndex index = compositionView->currentIndex();
+    if (index.isValid()) {
+        activated(index);
+    }
+}
+
+
+
 #include "compositiondocker_dock.moc"
diff --git a/krita/plugins/extensions/dockers/compositiondocker/compositiondocker_dock.h \
b/krita/plugins/extensions/dockers/compositiondocker/compositiondocker_dock.h index \
                a6e8d79..716323c 100644
--- a/krita/plugins/extensions/dockers/compositiondocker/compositiondocker_dock.h
+++ b/krita/plugins/extensions/dockers/compositiondocker/compositiondocker_dock.h
@@ -37,12 +37,15 @@ public:
     virtual void unsetCanvas();
     
     void updateModel();
+protected:
+    bool eventFilter(QObject *obj, QEvent *event);
     
 private slots:
     void activated (const QModelIndex& index);
     void deleteClicked();
     void saveClicked();
     void exportClicked();
+    void activateCurrentIndex();
 
 private:
     KisCanvas2 *m_canvas;


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

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