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

List:       kde-commits
Subject:    extragear/multimedia/kmid/src
From:       Pedro Lopez-Cabanillas <pedro.lopez.cabanillas () gmail ! com>
Date:       2010-07-19 12:58:34
Message-ID: 20100719125834.5A68CAC76B () svn ! kde ! org
[Download RAW message or body]

SVN commit 1151734 by pedrol:

kmid_part: KMediaPlayer actions

 M  +48 -11    kmid_part.cpp  
 M  +10 -11    kmid_part.h  
 M  +12 -0     kmid_part.rc  


--- trunk/extragear/multimedia/kmid/src/kmid_part.cpp #1151733:1151734
@@ -22,8 +22,10 @@
 #include "backend.h"
 #include "backendloader.h"
 #include "settings.h"
+#include "midimapper.h"
 
 #include <kaction.h>
+#include <ktoggleaction.h>
 #include <kactioncollection.h>
 #include <kcomponentdata.h>
 #include <kfiledialog.h>
@@ -38,16 +40,18 @@
 K_PLUGIN_FACTORY( KMidPartFactory, registerPlugin<KMidPart>(); )
 K_EXPORT_PLUGIN( KMidPartFactory("kmid_part") )
 
-KMidPart::KMidPart( QWidget *parentWidget, QObject *parent, const QList<QVariant>& /*args*/ )
+KMidPart::KMidPart( QWidget *parentWidget, QObject *parent, const QVariantList& /*args*/ )
     : KMediaPlayer::Player(parentWidget, "KMidPlayer", parent),
       m_view(new KMediaPlayer::View(parentWidget)),
       m_loader(0),
       m_currentBackend(0),
       m_midiobj(0),
       m_midiout(0),
-      m_settings(new KMid::Settings)
+      m_settings(new KMid::Settings),
+      m_mapper(new KMid::MidiMapper)
 {
     setComponentData( KMidPartFactory::componentData() );
+    setupActions();
     setXMLFile("kmid_part.rc");
     initialize();
 }
@@ -59,9 +63,11 @@
       m_currentBackend(0),
       m_midiobj(0),
       m_midiout(0),
-      m_settings(new KMid::Settings)
+      m_settings(new KMid::Settings),
+      m_mapper(new KMid::MidiMapper)
 {
     setComponentData( KMidPartFactory::componentData() );
+    setupActions();
     setXMLFile("kmid_part.rc");
     initialize();
 }
@@ -71,6 +77,35 @@
     delete m_settings;
 }
 
+void KMidPart::setupActions()
+{
+    m_play = new KAction(this);
+    m_play->setText(i18nc("@action player play", "Play") );
+    m_play->setIcon(KIcon("media-playback-start"));
+    m_play->setShortcut( Qt::Key_MediaPlay );
+    m_play->setWhatsThis(i18nc("@info:whatsthis","Start playback of the current session"));
+    //m_play->setEnabled(false);
+    connect(m_play, SIGNAL(triggered()), SLOT(play()));
+    actionCollection()->addAction("play", m_play);
+
+    m_pause = new KToggleAction(this);
+    m_pause->setText(i18nc("@action player pause", "Pause") );
+    m_pause->setIcon(KIcon("media-playback-pause"));
+    m_pause->setWhatsThis(i18nc("@info:whatsthis","Pause the playback"));
+    //m_pause->setEnabled(false);
+    connect(m_pause, SIGNAL(triggered()), SLOT(pause()));
+    actionCollection()->addAction("pause", m_pause);
+
+    m_stop = new KAction(this);
+    m_stop->setText(i18nc("@action player stop", "Stop") );
+    m_stop->setIcon(KIcon("media-playback-stop"));
+    m_stop->setShortcut( Qt::Key_MediaStop );
+    m_stop->setWhatsThis(i18nc("@info:whatsthis","Stop playback or recording") );
+    //m_stop->setEnabled(false);
+    connect(m_stop, SIGNAL(triggered()), SLOT(stop()));
+    actionCollection()->addAction("stop", m_stop);
+}
+
 void KMidPart::initialize()
 {
     m_loader = new KMid::BackendLoader(this);
@@ -83,10 +118,10 @@
     } else {
         QString mapperFile = m_settings->midi_mapper();
         if (mapperFile.isEmpty())
-            m_mapper.clear();
+            m_mapper->clear();
         else {
-            m_mapper.loadFile(mapperFile);
-            if (m_midiout != NULL) m_midiout->setMidiMap(&m_mapper);
+            m_mapper->loadFile(mapperFile);
+            if (m_midiout != NULL) m_midiout->setMidiMap(m_mapper);
         }
         switch(m_settings->reset_mode()) {
         case KMid::Settings::None:
@@ -112,18 +147,20 @@
             break;
         }
         if (m_midiout != NULL) {
+            bool success = false;
             m_midiout->setResetMessage(m_resetMessage);
             QString conn = m_settings->output_connection();
-            kDebug() << conn;
+            kDebug() << "settings connection:" << conn;
             if (conn.isEmpty()) {
                 QStringList items = m_midiout->outputDeviceList(true);
-                kDebug() << items;
+                kDebug() << "available connections:" << items;
                 conn = items.first();
-                if (m_midiout->setOutputDeviceName(conn))
+                if (success = m_midiout->setOutputDeviceName(conn))
                     m_settings->setOutput_connection(conn);
             } else {
-                m_midiout->setOutputDeviceName(conn);
+                success = m_midiout->setOutputDeviceName(conn);
             }
+            kDebug() << "connection to" << conn << "result:" << success;
         }
     }
 }
@@ -143,7 +180,7 @@
           m_settings->midi_backend() == library) ) {
         m_midiobj = backend->midiObject();
         m_midiout = backend->midiOutput();
-        m_midiout->setMidiMap(&m_mapper);
+        m_midiout->setMidiMap(m_mapper);
         connect(m_midiobj, SIGNAL(stateChanged(State,State)),
                 SLOT(slotUpdateState(State,State)));
         connect(m_midiobj, SIGNAL(midiText(int,const QString&)),
--- trunk/extragear/multimedia/kmid/src/kmid_part.h #1151733:1151734
@@ -20,18 +20,12 @@
 #ifndef KMIDPART_H
 #define KMIDPART_H
 
-#include "midimapper.h"
-#include "midiobject.h"
-#include <kmediaplayer/player.h>
-#include <kmediaplayer/view.h>
-#include <ksharedconfig.h>
+#include <KDE/KMediaPlayer/Player>
+#include <KDE/KMediaPlayer/View>
 
-class QWidget;
-class QPainter;
-class KUrl;
-class QTextEdit;
 class KAboutData;
 class KAction;
+class KToggleAction;
 
 namespace KMid {
       class Backend;
@@ -39,6 +33,7 @@
       class MIDIOutput;
       class BackendLoader;
       class Settings;
+    class MidiMapper;
 }
 
 using namespace KMid;
@@ -55,7 +50,7 @@
     Q_OBJECT
 public:
     KMidPart(QObject *parent);
-    KMidPart(QWidget *parentWidget,QObject *parent, const QList<QVariant>&);
+    KMidPart(QWidget *parentWidget,QObject *parent, const QVariantList&);
     virtual ~KMidPart();
 
     static KAboutData *createAboutData();
@@ -87,6 +82,7 @@
     virtual bool openFile();
 
 private:
+    void setupActions();
     void initialize();
 
     KMediaPlayer::View* m_view;
@@ -95,7 +91,10 @@
     KMid::MIDIObject *m_midiobj;
     KMid::MIDIOutput *m_midiout;
     KMid::Settings *m_settings;
-    KMid::MidiMapper m_mapper;
+    KMid::MidiMapper *m_mapper;
+    KToggleAction *m_pause;
+    KAction *m_play;
+    KAction *m_stop;
     QByteArray m_resetMessage;
     struct MidiBackend {
         QString  library;
--- trunk/extragear/multimedia/kmid/src/kmid_part.rc #1151733:1151734
@@ -1,3 +1,15 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
 <kpartgui name="kmid_part" version="1">
+<MenuBar>
+  <Menu name="view">
+    <Action name="play"/>
+    <Action name="pause"/>
+    <Action name="stop"/>
+  </Menu>
+</MenuBar>
+<ToolBar name="mainToolBar">
+  <Action name="play"/>
+  <Action name="pause"/>
+  <Action name="stop"/>
+</ToolBar>
 </kpartgui>
[prev in list] [next in list] [prev in thread] [next in thread] 

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