[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso resources/keymap.xml src/core/InputEng...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso resources/keymap.xml src/core/InputEng... |
Date: |
Mon, 07 May 2007 18:15:30 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/05/07 18:15:30
Modified files:
resources : keymap.xml
src/core : InputEngine.cpp InputEngine.h ProjectManager.h
src/traverso : Interface.cpp Interface.h
Log message:
* Export current keymap to html added
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/resources/keymap.xml?cvsroot=traverso&r1=1.65&r2=1.66
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/InputEngine.cpp?cvsroot=traverso&r1=1.52&r2=1.53
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/InputEngine.h?cvsroot=traverso&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/ProjectManager.h?cvsroot=traverso&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/Interface.cpp?cvsroot=traverso&r1=1.73&r2=1.74
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/Interface.h?cvsroot=traverso&r1=1.33&r2=1.34
Patches:
Index: resources/keymap.xml
===================================================================
RCS file: /sources/traverso/traverso/resources/keymap.xml,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -b -r1.65 -r1.66
--- resources/keymap.xml 5 May 2007 20:40:35 -0000 1.65
+++ resources/keymap.xml 7 May 2007 18:15:29 -0000 1.66
@@ -33,6 +33,11 @@
<Object objectname="Interface"
slotsignature="full_screen" modes="All" instantanious="0" />
</Objects>
</keyfact>
+ <keyfact type="FKEY" key1="F12" >
+ <Objects>
+ <Object objectname="Interface"
slotsignature="export_keymap" modes="All" instantanious="0" />
+ </Objects>
+ </keyfact>
<keyfact type="FKEY" key1="F5" >
<Objects>
<Object objectname="TrackView"
slotsignature="add_new_plugin" modes="All" sortorder="13" instantanious="0" />
@@ -124,11 +129,6 @@
<Object objectname="AudioClipView" modes="All"
sortorder="15" pluginname="TraversoCommands" commandname="SplitClip" />
</Objects>
</keyfact>
- <keyfact type="FKEY" key1="F3" >
- <Objects>
- <Object objectname="Interface"
slotsignature="show_song_widget" modes="All" instantanious="0" />
- </Objects>
- </keyfact>
<keyfact type="FKEY" key1="F4" >
<Objects>
<Object objectname="Interface"
slotsignature="show_project_manager_dialog" modes="All" instantanious="0" />
@@ -332,8 +332,8 @@
</keyfact>
<keyfact type="HKEY" key1="MouseButtonLeft" >
<Objects>
- <Object objectname="AudioClipView"
mousehint="LRUD" modes="All" pluginname="TraversoCommands"
commandname="MoveClip" arguments="move" />
<Object objectname="AudioClipView"
mousehint="LRUD" modes="All" sortorder="9" modifierkeys="CTRL"
pluginname="TraversoCommands" commandname="CopyClip" arguments="copy" />
+ <Object objectname="AudioClipView"
mousehint="LRUD" modes="All" pluginname="TraversoCommands"
commandname="MoveClip" arguments="move" />
<Object objectname="CurveView" mousehint="LRUD"
slotsignature="drag_node" modes="Effects" sortorder="3" instantanious="1" />
<Object objectname="TimeLineView"
mousehint="LR" slotsignature="drag_marker" modes="All" sortorder="3"
instantanious="1" />
<Object objectname="SongView" mousehint="LR"
slotsignature="work_cursor_move" modes="All" sortorder="14" instantanious="0" />
Index: src/core/InputEngine.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/InputEngine.cpp,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -b -r1.52 -r1.53
--- src/core/InputEngine.cpp 24 Apr 2007 23:24:27 -0000 1.52
+++ src/core/InputEngine.cpp 7 May 2007 18:15:30 -0000 1.53
@@ -1562,13 +1562,8 @@
return holdingCommand;
}
-QList< MenuData > InputEngine::create_menudata_for(QObject* item)
+void InputEngine::create_menudata_for_metaobject(const QMetaObject * mo,
QList< MenuData > & list) const
{
- QList<MenuData > list;
- ContextItem* contextitem;
-
- do {
- const QMetaObject* mo = item->metaObject();
const char* classname = mo->className();
for (int i=0; i<m_ieActions.size(); i++) {
@@ -1651,6 +1646,17 @@
list.append(menudata);
}
}
+}
+
+QList< MenuData > InputEngine::create_menudata_for(QObject* item)
+{
+ QList<MenuData > list;
+ ContextItem* contextitem;
+
+ do {
+ const QMetaObject* mo = item->metaObject();
+
+ create_menudata_for_metaobject(mo, list);
contextitem = qobject_cast<ContextItem*>(item);
}
@@ -1745,3 +1751,4 @@
//eof
+
Index: src/core/InputEngine.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/InputEngine.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- src/core/InputEngine.h 24 Apr 2007 18:56:38 -0000 1.23
+++ src/core/InputEngine.h 7 May 2007 18:15:30 -0000 1.24
@@ -139,6 +139,7 @@
QList<MenuData > create_menudata_for(QObject* item);
Command* get_holding_command() const;
+ void create_menudata_for_metaobject(const QMetaObject* mo,
QList<MenuData >& list) const;
int broadcast_action_from_contextmenu(const QString& name);
Index: src/core/ProjectManager.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/ProjectManager.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- src/core/ProjectManager.h 4 Apr 2007 00:05:51 -0000 1.12
+++ src/core/ProjectManager.h 7 May 2007 18:15:30 -0000 1.13
@@ -34,6 +34,9 @@
class ProjectManager : public ContextItem
{
Q_OBJECT
+ Q_CLASSINFO("save_project", tr("Save Project"))
+ Q_CLASSINFO("exit", tr("Exit application"))
+
public:
Project* create_new_project(int numSong, int numTracks, const QString&
projectName);
Project* create_new_project(const QString& templatefile, const QString&
projectName);
Index: src/traverso/Interface.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/Interface.cpp,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -b -r1.73 -r1.74
--- src/traverso/Interface.cpp 7 May 2007 10:31:21 -0000 1.73
+++ src/traverso/Interface.cpp 7 May 2007 18:15:30 -0000 1.74
@@ -22,6 +22,7 @@
#include "../config.h"
#include <libtraversocore.h>
+#include "libtraversosongcanvas.h"
#include <AudioDevice.h>
#include <QtOpenGL>
@@ -29,20 +30,18 @@
#include "Interface.h"
#include "BusMonitor.h"
#include "ProjectManager.h"
-#include "AudioClipView.h"
-#include "TrackView.h"
#include "ViewPort.h"
#include "Help.h"
#include "widgets/ResourcesWidget.h"
#include "FadeCurve.h"
#include "Config.h"
+#include "Plugin.h"
#include "widgets/InfoWidgets.h"
#include "ExportWidget.h"
#include "CorrelationMeterWidget.h"
#include "SpectralMeterWidget.h"
-
#include "Import.h"
#include "songcanvas/SongWidget.h"
@@ -278,15 +277,6 @@
pm().get_undogroup()->setActiveStack(song->get_history_stack());
}
-Command* Interface::show_song_widget()
-{
- if (currentSongWidget) {
-
centerAreaWidget->setCurrentIndex(centerAreaWidget->indexOf(currentSongWidget));
- }
-
- return (Command*) 0;
-}
-
Command* Interface::about_traverso()
{
@@ -440,7 +430,8 @@
void Interface::process_context_menu_action( QAction * action )
{
- QString name = (action->data()).toString();
+ QStringList strings = action->data().toStringList();
+ QString name = strings.first();
ie().broadcast_action_from_contextmenu(name);
}
@@ -524,6 +515,7 @@
{
QString modifierkey = "";
foreach(int key, modifiers) {
+ if (keyfact.contains("+)")) continue;
if (key == Qt::Key_Alt) {
modifierkey += "ALT+";
} else if (key == Qt::Key_Control) {
@@ -540,11 +532,86 @@
return modifierkey + " " + keyfact;
}
-QMenu* Interface::create_context_menu(QObject* item )
+Command * Interface::export_keymap()
+{
+ QTextStream out;
+ QFile data(QDir::homePath() + "/traversokeymap.html");
+ if (data.open(QFile::WriteOnly | QFile::Truncate)) {
+ out.setDevice(&data);
+ } else {
+ return 0;
+ }
+
+ QMap<QString, QList<const QMetaObject*> > objects;
+
+ QList<const QMetaObject*> songlist; songlist <<
&Song::staticMetaObject; songlist << &SongView::staticMetaObject;
+ QList<const QMetaObject*> tracklist; tracklist <<
&Track::staticMetaObject; tracklist << &TrackView::staticMetaObject;
+ QList<const QMetaObject*> cliplist; cliplist <<
&AudioClip::staticMetaObject; cliplist << &AudioClipView::staticMetaObject;
+ QList<const QMetaObject*> curvelist; curvelist <<
&Curve::staticMetaObject; curvelist << &CurveView::staticMetaObject;
+ QList<const QMetaObject*> timelinelist; timelinelist <<
&TimeLine::staticMetaObject; timelinelist << &TimeLineView::staticMetaObject;
+ QList<const QMetaObject*> markerlist; markerlist <<
&Marker::staticMetaObject; markerlist << &MarkerView::staticMetaObject;
+ QList<const QMetaObject*> pluginlist; pluginlist <<
&Plugin::staticMetaObject; pluginlist << &PluginView::staticMetaObject;
+ QList<const QMetaObject*> fadelist; fadelist <<
&FadeCurve::staticMetaObject; fadelist << &FadeView::staticMetaObject;
+ QList<const QMetaObject*> interfacelist; interfacelist <<
&Interface::staticMetaObject;
+ QList<const QMetaObject*> pmlist; pmlist <<
&ProjectManager::staticMetaObject;
+
+ objects.insert("Song", songlist);
+ objects.insert("Track", tracklist);
+ objects.insert("AudioClip", cliplist);
+ objects.insert("Curve", curvelist);
+ objects.insert("TimeLine", timelinelist);
+ objects.insert("Marker", markerlist);
+ objects.insert("Plugin", pluginlist);
+ objects.insert("Fade", fadelist);
+ objects.insert("Interface", interfacelist);
+ objects.insert("ProjectManager", pmlist);
+
+
+ out << "<html><body><h1>Traverso keymap: " <<
config().get_property("CCE", "keymap", "default").toString();
+
+ foreach(QList<const QMetaObject* > objectlist, objects.values()) {
+ QString name = objects.key(objectlist);
+
+ out << "<h3>" << name << "</h3>";
+ out << "<table><tr><td width=200>" << tr("<b>Description</b>")
<< "</td><td>" << tr("<b>Key Sequence</b>") << "</td></tr>";
+
+ foreach(const QMetaObject* mo, objectlist) {
+ QList<MenuData > list;
+
+ ie().create_menudata_for_metaobject(mo, list);
+
+ QMenu* menu = create_context_menu(0, &list);
+ if (menu) {
+ foreach(QAction* action, menu->actions()) {
+ QStringList strings =
action->data().toStringList();
+ if (strings.size() >= 3) {
+ out << "<tr><td>" <<
strings.at(1) << "</td><td>" << strings.at(2) << "</td></tr>";
+ }
+ }
+ delete menu;
+ }
+
+ }
+ out << "</table></br></br>";
+ }
+
+ out << "</body></html>";
+
+ data.close();
+
+ return 0;
+}
+
+QMenu* Interface::create_context_menu(QObject* item, QList<MenuData >*
menulist)
{
QMenu* menu = new QMenu(this);
- QList<MenuData > list = ie().create_menudata_for( item );
+ QList<MenuData > list;
+ if (item) {
+ list = ie().create_menudata_for( item );
+ } else {
+ list = *menulist;
+ }
if (list.size() == 0) {
// Empty menu!
@@ -554,7 +621,13 @@
qSort(list.begin(), list.end(), MenuData::smaller);
- QString name =
QString(item->metaObject()->className()).remove("View").remove("Panel");
+
+ QString name;
+ if (item) {
+ name =
QString(item->metaObject()->className()).remove("View").remove("Panel");
+ } else {
+ name = "noname";
+ }
QAction* menuAction = menu->addAction(name);
QFont font("Bitstream Vera Sans", 8);
font.setBold(true);
@@ -594,7 +667,9 @@
QString text = QString(data.description + " " +
keyfact);
QAction* action = new QAction(this);
action->setText(text);
- action->setData(data.iedata);
+ QStringList strings;
+ strings << data.iedata << data.description << keyfact;
+ action->setData(strings);
menu->addAction(action);
}
}
@@ -879,4 +954,6 @@
return 0;
}
+
// eof
+
Index: src/traverso/Interface.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/Interface.h,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- src/traverso/Interface.h 2 May 2007 05:58:20 -0000 1.33
+++ src/traverso/Interface.h 7 May 2007 18:15:30 -0000 1.34
@@ -64,10 +64,17 @@
class NewSongDialog;
class NewTrackDialog;
class NewProjectDialog;
+struct MenuData;
class Interface : public QMainWindow
{
Q_OBJECT
+ Q_CLASSINFO("show_export_widget", tr("Show Export Dialog"))
+ Q_CLASSINFO("show_context_menu", tr("Show Context Menu"))
+ Q_CLASSINFO("about_traverso", tr("About Traverso"))
+ Q_CLASSINFO("show_project_manager_dialog", tr("Show Project Management
Dialog"))
+ Q_CLASSINFO("full_screen", tr("Full Screen"))
+ Q_CLASSINFO("export_keymap", tr("Export keymap"))
public :
Interface();
@@ -133,7 +140,7 @@
static Interface* m_instance;
- QMenu* create_context_menu(QObject* item);
+ QMenu* create_context_menu(QObject* item, QList<MenuData >* list = 0);
QMenu* create_fade_selector_menu(const QString& fadeTypeName);
public slots :
@@ -146,9 +153,9 @@
void update_opengl();
void import_audio();
- Command* show_song_widget();
Command* full_screen();
Command* about_traverso();
+ Command* export_keymap();
Command* show_export_widget();
Command* show_context_menu();
Command* show_open_project_dialog();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso resources/keymap.xml src/core/InputEng...,
Remon Sijrier <=