summaryrefslogtreecommitdiff
path: root/utils/wpseditor/gui/src/qwpseditorwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/wpseditor/gui/src/qwpseditorwindow.cpp')
-rw-r--r--utils/wpseditor/gui/src/qwpseditorwindow.cpp70
1 files changed, 51 insertions, 19 deletions
diff --git a/utils/wpseditor/gui/src/qwpseditorwindow.cpp b/utils/wpseditor/gui/src/qwpseditorwindow.cpp
index c3090bd027..74d18ffe23 100644
--- a/utils/wpseditor/gui/src/qwpseditorwindow.cpp
+++ b/utils/wpseditor/gui/src/qwpseditorwindow.cpp
@@ -1,9 +1,11 @@
1#include "qwpseditorwindow.h"
2#include "qwpsdrawer.h"
3#include "utils.h"
4#include <QFileDialog> 1#include <QFileDialog>
5#include <QDebug> 2#include <QDebug>
6#include <QInputDialog> 3#include <QInputDialog>
4#include "api.h"
5#include "qwpseditorwindow.h"
6#include "utils.h"
7#include "qsyntaxer.h"
8
7 9
8enum api_playmode playmodes[PLAYMODES_NUM] = { 10enum api_playmode playmodes[PLAYMODES_NUM] = {
9 API_STATUS_PLAY, 11 API_STATUS_PLAY,
@@ -27,45 +29,61 @@ QWpsEditorWindow::QWpsEditorWindow( QWidget * parent, Qt::WFlags f)
27 setupUi(this); 29 setupUi(this);
28 drawer = new QWpsDrawer(&wpsState,&trackState, this); 30 drawer = new QWpsDrawer(&wpsState,&trackState, this);
29 QWpsDrawer::api.verbose = 1; 31 QWpsDrawer::api.verbose = 1;
30 //drawer->WpsInit("iCatcher.wps");
31 setCentralWidget(drawer); 32 setCentralWidget(drawer);
32 connectActions(); 33 connectActions();
33 m_propertyEditor->addObject(&trackState); 34 m_propertyEditor->addObject(&trackState);
34 m_propertyEditor->addObject(&wpsState); 35 m_propertyEditor->addObject(&wpsState);
36 new QSyntaxer(plainWpsEdit->document());
35} 37}
36 38
37void QWpsEditorWindow::connectActions() { 39void QWpsEditorWindow::connectActions() {
38 qDebug()<<"connect actions"; 40 DEBUGF3("connect actions");
39 connect(actOpenWps, SIGNAL(triggered()), this, SLOT(slotOpenWps())); 41 connect(actOpenWps, SIGNAL(triggered()), this, SLOT(slotOpenWps()));
40 connect(actSetVolume, SIGNAL(triggered()), drawer, SLOT(slotSetVolume())); 42 connect(actSetVolume, SIGNAL(triggered()), drawer, SLOT(slotSetVolume()));
41 connect(actSetProgress, SIGNAL(triggered()), drawer, SLOT(slotSetProgress())); 43 connect(actSetProgress, SIGNAL(triggered()), drawer, SLOT(slotSetProgress()));
42 connect(actShowGrid, SIGNAL(triggered(bool)), drawer, SLOT(slotShowGrid(bool))); 44 connect(actShowGrid, SIGNAL(triggered(bool)), drawer, SLOT(slotShowGrid(bool)));
43 45
44 connect(actUpdatePlainWps, SIGNAL(triggered()), SLOT(slotUpdatePlainWps())); 46 connect(actUpdatePlainWps, SIGNAL(triggered()), SLOT(slotUpdatePlainWps()));
45 connect(plainWpsEdit->document(), SIGNAL(modificationChanged(bool)), SLOT(slotPlainDocModChanged(bool))); 47 connect(plainWpsEdit->document(),SIGNAL(modificationChanged(bool)),SLOT(slotPlainDocModChanged(bool)));
46 48
47 connect(&wpsState, SIGNAL(stateChanged(wpsstate)), drawer, SLOT(slotWpsStateChanged(wpsstate))); 49 connect(&wpsState, SIGNAL(stateChanged(wpsstate)), drawer, SLOT(slotWpsStateChanged(wpsstate)));
48 connect(&trackState, SIGNAL(stateChanged(trackstate)), drawer, SLOT(slotTrackStateChanged(trackstate))); 50 connect(&trackState, SIGNAL(stateChanged(trackstate)), drawer, SLOT(slotTrackStateChanged(trackstate)));
49 connect(&wpsState, SIGNAL(stateChanged(wpsstate)), this, SLOT(slotWpsStateChanged(wpsstate))); 51 connect(&wpsState, SIGNAL(stateChanged(wpsstate)), this, SLOT(slotWpsStateChanged(wpsstate)));
50 connect(&trackState, SIGNAL(stateChanged(trackstate)), this, SLOT(slotTrackStateChanged(trackstate))); 52 connect(&trackState, SIGNAL(stateChanged(trackstate)), this, SLOT(slotTrackStateChanged(trackstate)));
51 53
52 connect(actClearLog, SIGNAL(triggered()), logEdit, SLOT(clear())); 54 connect(actClearLog, SIGNAL(triggered()), logEdit, SLOT(clear()));
53 connect(actVerboseLevel, SIGNAL(triggered()), SLOT(slotVerboseLevel())); 55 connect(actVerboseLevel, SIGNAL(triggered()), SLOT(slotVerboseLevel()));
54 56
55 actGroupAudios = new QActionGroup(this); 57 actGroupAudios = new QActionGroup(this);
56 signalMapper = new QSignalMapper(this); 58 audiosSignalMapper = new QSignalMapper(this);
57 for (int i=0;i<PLAYMODES_NUM;i++) { 59 for (int i=0;i<PLAYMODES_NUM;i++) {
58 QAction *act = new QAction(playmodeNames[i],this); 60 QAction *act = new QAction(playmodeNames[i],this);
59 act->setCheckable(true); 61 act->setCheckable(true);
60 actGroupAudios->addAction(act); 62 actGroupAudios->addAction(act);
61 connect(act,SIGNAL(triggered()),signalMapper,SLOT(map())); 63 connect(act,SIGNAL(triggered()),audiosSignalMapper,SLOT(map()));
62 signalMapper->setMapping(act, i); 64 audiosSignalMapper->setMapping(act, i);
63 menuPlay->addAction(act); 65 menuPlay->addAction(act);
64 actAudios[playmodes[i]] = act; 66 actAudios[playmodes[i]] = act;
65 } 67 }
66 connect(signalMapper, SIGNAL(mapped(int)), SIGNAL(signalAudioStatusChanged(int))); 68 connect(audiosSignalMapper, SIGNAL(mapped(int)), SIGNAL(signalAudioStatusChanged(int)));
67 connect(this, SIGNAL(signalAudioStatusChanged(int)), drawer, SLOT(slotSetAudioStatus(int))); 69 connect(this, SIGNAL(signalAudioStatusChanged(int)), drawer, SLOT(slotSetAudioStatus(int)));
68 actGroupAudios->setEnabled(false); 70 actGroupAudios->setEnabled(false);
71
72 QList<QString> targets = drawer->getTargets();
73 actGroupTargets = new QActionGroup(this);
74 targetsSignalMapper = new QSignalMapper(this);
75
76 for (int i=0;i<targets.size();i++) {
77 QAction *act = new QAction(targets[i],this);
78 act->setCheckable(true);
79 actGroupTargets->addAction(act);
80 connect(act,SIGNAL(triggered()),targetsSignalMapper,SLOT(map()));
81 targetsSignalMapper->setMapping(act, targets[i]);
82 menuTarget->addAction(act);
83 actTargets[targets[i]] = act;
84 }
85 connect(targetsSignalMapper, SIGNAL(mapped(const QString &)),this, SIGNAL(signalSetTarget(const QString &)));
86 connect(this, SIGNAL(signalSetTarget(const QString &)),this, SLOT(slotSetTarget(const QString &)));
69} 87}
70 88
71void QWpsEditorWindow::slotWpsStateChanged(wpsstate) { 89void QWpsEditorWindow::slotWpsStateChanged(wpsstate) {
@@ -89,8 +107,9 @@ void QWpsEditorWindow::slotOpenWps() {
89 drawer->WpsInit(wpsfile); 107 drawer->WpsInit(wpsfile);
90 plainWpsEdit->clear(); 108 plainWpsEdit->clear();
91 plainWpsEdit->append(drawer->wpsString()); 109 plainWpsEdit->append(drawer->wpsString());
92 trackState.setAlbum(trackState.album()); 110 trackState.setAlbum(trackState.album()); ////updating property editor
93 actGroupAudios->setEnabled(true); 111 actGroupAudios->setEnabled(true);
112
94} 113}
95 114
96void QWpsEditorWindow::logMsg(QString s) { 115void QWpsEditorWindow::logMsg(QString s) {
@@ -108,7 +127,9 @@ void QWpsEditorWindow::slotUpdatePlainWps() {
108 DEBUGF1(tr("Updating WPS")); 127 DEBUGF1(tr("Updating WPS"));
109 plainWpsEdit->document()->setModified(false); 128 plainWpsEdit->document()->setModified(false);
110 drawer->WpsInit(plainWpsEdit->toPlainText(),false); 129 drawer->WpsInit(plainWpsEdit->toPlainText(),false);
111 130 m_propertyEditor->setEnabled(true);
131 actGroupAudios->setEnabled(true);
132 trackState.setAlbum(trackState.album()); //updating property editor
112} 133}
113 134
114void QWpsEditorWindow::slotPlainDocModChanged(bool changed) { 135void QWpsEditorWindow::slotPlainDocModChanged(bool changed) {
@@ -117,4 +138,15 @@ void QWpsEditorWindow::slotPlainDocModChanged(bool changed) {
117 else 138 else
118 dockPlainWps->setWindowTitle(tr("PlainWps")); 139 dockPlainWps->setWindowTitle(tr("PlainWps"));
119} 140}
141void QWpsEditorWindow::slotSetTarget(const QString & target) {
142 if (drawer->setTarget(target)) {
143 DEBUGF1(tr("New target <%1> switched").arg(target));
144 actTargets[target]->setChecked(true);
145 } else
146 DEBUGF1(tr("ERR: Target <%1> failed!").arg(target));
147 update();
148 slotUpdatePlainWps();
149}
150
151
120 152