[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