traverso-commit
[Top][All Lists]
Advanced

[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();




reply via email to

[Prev in Thread] Current Thread [Next in Thread]