Mercurial > hg > easaier-soundaccess
changeset 217:c24fafc45d50
add the lock and unlock window
author | benoitrigolleau |
---|---|
date | Thu, 07 Feb 2008 15:17:13 +0000 |
parents | 3045ced14a59 |
children | 4fb1a45be262 |
files | sv/main/EasaierSessionManager.cpp sv/main/MainWindow.cpp sv/main/MainWindow.h sv/main/main.cpp |
diffstat | 4 files changed, 88 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/sv/main/EasaierSessionManager.cpp Thu Feb 07 15:15:52 2008 +0000 +++ b/sv/main/EasaierSessionManager.cpp Thu Feb 07 15:17:13 2008 +0000 @@ -237,7 +237,6 @@ if (read) { m_document->setAudioSourceInfoModel(m_audioSourceInfoModel); - emit audioFileLoaded(); loadRelatedModel(); } break; @@ -389,11 +388,13 @@ m_document->setMainModel(model); addedModel[modelName] = (Model* ) model; ok = true; + emit audioFileLoaded(); } #ifdef HAVE_VIDEO else if (VideoFileReaderFactory::isKnownExtensions(extension)) { ok = !(MainWindow::instance()->openVideoFile(filename, MainWindow::ReplaceMainModel)); + emit audioFileLoaded(); } #endif else
--- a/sv/main/MainWindow.cpp Thu Feb 07 15:15:52 2008 +0000 +++ b/sv/main/MainWindow.cpp Thu Feb 07 15:17:13 2008 +0000 @@ -50,7 +50,6 @@ #include "widgets/ConnectionStatus.h" #include "widgets/LayerViewerWidget.h" - #include "audioio/AudioCallbackPlaySource.h" #include "audioio/AudioCallbackPlayTarget.h" #include "audioio/AudioTargetFactory.h" @@ -153,7 +152,8 @@ m_abandoning(false), m_preferencesDialog(0), m_playSpeedVal(1), - m_curSender(0) + m_curSender(0), + m_nbLock(0) { m_videoWidget = 0; @@ -391,9 +391,13 @@ connect(m_EasaierManager, SIGNAL(queryModelLoaded(QueryModel*)), this, SLOT(queryModelLoaded(QueryModel*))); + connect(m_EasaierManager, SIGNAL(audioFileLoaded()), this, SLOT(audioFileLoaded())); + connect(m_EasaierManager, SIGNAL(audioFileLoaded()), + this, SLOT(unlockWindow())); + setupMenus(); setupToolbars(); @@ -402,6 +406,63 @@ newEasaierSession(); } + +void MainWindow::lockWindow(){ + //lock the menu + QWidget *menu = this->menuWidget(); + if(menu){ + menu->setEnabled(false); + } + + // lock the toolbar + for(int i=0; i< m_toolBarVector.count();i++){ + m_toolBarVectorValues.append(m_toolBarVector[i]->isEnabled()); + m_toolBarVector[i]->setEnabled(false); + } + + //lock the central widget + + QWidget *centralWidget = this->centralWidget(); + if(centralWidget){ + QLayout *centralLayout = centralWidget->layout(); + if(centralLayout){ + m_waitwidget = new WaitingWidget; + m_waitwidget->setAnimation(true); + ((QGridLayout*) centralLayout)->addWidget(m_waitwidget , 0,0); + m_waitwidget->setGeometry(-20,-20,100,100); + } + } + m_nbLock++; +} + +void MainWindow::unlockWindow(){ + m_nbLock--; + if(m_nbLock<=0){ + //unlock the menu + QWidget *menu = this->menuWidget(); + if(menu){ + menu->setEnabled(true); + } + + // unlock the toolbar + for(int i=0; i< m_toolBarVector.count();i++){ + m_toolBarVector[i]->setEnabled(m_toolBarVectorValues[i]); + } + m_toolBarVectorValues.clear(); + + // unlock the central widget + QWidget *centralWidget = this->centralWidget(); + if(centralWidget){ + QLayout *centralLayout = centralWidget->layout(); + if(centralLayout){ + centralLayout->removeWidget(m_waitwidget); + delete m_waitwidget; + + } + } + } +} + MainWindow::~MainWindow() { @@ -684,6 +745,7 @@ QMenu* menu = menuBar()->addMenu(tr("&Easaier")); QToolBar *toolbar = addToolBar(tr("Easaier session Toolbar")); + m_toolBarVector.append(toolbar); QIcon icon(":icons/filenew.png"); QAction *action = new QAction(icon, tr("&New Session"), this); @@ -1689,6 +1751,7 @@ MainWindow::setupToolbars() { QToolBar *toolbar = addToolBar(tr("Transport Toolbar")); + m_toolBarVector.append(toolbar); QAction *action = toolbar->addAction(QIcon(":/icons/rewind-start.png"), tr("Rewind to Start")); @@ -1729,6 +1792,7 @@ connect(this, SIGNAL(canPlay(bool)), action, SLOT(setEnabled(bool))); toolbar = addToolBar(tr("Play Mode Toolbar")); + m_toolBarVector.append(toolbar); action = toolbar->addAction(QIcon(":/icons/playselection.png"), tr("Constrain Playback to Selection")); @@ -1753,9 +1817,13 @@ connect(this, SIGNAL(canPlay(bool)), action, SLOT(setEnabled(bool))); toolbar = addToolBar(tr("Edit Toolbar")); + m_toolBarVector.append(toolbar); + CommandHistory::getInstance()->registerToolbar(toolbar); toolbar = addToolBar(tr("Tools Toolbar")); + m_toolBarVector.append(toolbar); + QActionGroup *group = new QActionGroup(this); action = toolbar->addAction(QIcon(":/icons/navigate.png"),
--- a/sv/main/MainWindow.h Thu Feb 07 15:15:52 2008 +0000 +++ b/sv/main/MainWindow.h Thu Feb 07 15:17:13 2008 +0000 @@ -24,6 +24,7 @@ #include <QTabWidget> #include <QStatusBar> #include <QProcess> +#include <QVector> #include <time.h> #include "base/Command.h" #include "view/ViewManager.h" @@ -37,6 +38,7 @@ #include "widgets/WidgetGallery.h" #include "document/ESFileReader.h" #include "widgets/MultiPaneLayerContainer.h" +#include "widgets/WaitingWidget.h" //Ivan Damnjanovic 12/07/2007 #include "data/fileio/VideoFileReader.h" @@ -313,7 +315,12 @@ void exit(); + void lockWindow(); + void unlockWindow(); + protected: + + WaitingWidget *m_waitwidget; SDLWidget *m_sdlWidget; QWidget *m_videoWidget; QString m_sessionFile; @@ -523,8 +530,10 @@ private: void createMultiPaneLayerContainer(); - float m_playSpeedVal; + int m_nbLock; + QVector<QToolBar*> m_toolBarVector; + QVector<bool> m_toolBarVectorValues; };
--- a/sv/main/main.cpp Thu Feb 07 15:15:52 2008 +0000 +++ b/sv/main/main.cpp Thu Feb 07 15:17:13 2008 +0000 @@ -22,6 +22,7 @@ #include "base/Preferences.h" #include "widgets/TipDialog.h" #include "widgets/EasaierStyle.h" +#include "widgets/Plotter.h" #include <QMetaType> #include <QApplication> @@ -205,15 +206,19 @@ Q_IMPORT_PLUGIN(qmng) #endif + int main(int argc, char **argv) { SVApplication application(argc, argv); - + QSplashScreen *splash = new QSplashScreen; splash->setPixmap(QPixmap(":icons/splashscreen.png")); splash->show(); + Plotter plotter; + plotter.show(); + QStringList args = application.arguments(); signal(SIGINT, signalHandler);