Mercurial > hg > easaier-soundaccess
diff sv/main/MainWindow.cpp @ 2:ba54bc09cd62
add easaier tab widgets, style and pass the layer characteristics in the main window (remove from panestack)
author | lbajardsilogic |
---|---|
date | Fri, 11 May 2007 13:59:29 +0000 |
parents | fc9323a41f5a |
children | 9e054206ed97 |
line wrap: on
line diff
--- a/sv/main/MainWindow.cpp Fri May 11 13:57:39 2007 +0000 +++ b/sv/main/MainWindow.cpp Fri May 11 13:59:29 2007 +0000 @@ -41,6 +41,11 @@ #include "widgets/ListInputDialog.h" #include "widgets/SubdividingMenu.h" #include "widgets/NotifyingPushButton.h" +#include "widgets/InfoWidget.h" +#include "widgets/SearchWidget.h" +#include "widgets/QueryResultsWidget.h" +#include "widgets/ExpandWidget.h" +#include "widgets/AdvancedToolBox.h" #include "audioio/AudioCallbackPlaySource.h" #include "audioio/AudioCallbackPlayTarget.h" #include "audioio/AudioTargetFactory.h" @@ -100,6 +105,12 @@ using std::map; using std::set; +MainWindow * MainWindow::m_instance = 0; + +MainWindow * MainWindow::instance() +{ + return m_instance; +} MainWindow::MainWindow(bool withAudioOutput, bool withOSCSupport) : m_document(0), @@ -237,13 +248,39 @@ m_playMono->setChecked(settings.value("playmono", false).toBool()); settings.endGroup(); - layout->setSpacing(4); - layout->addWidget(m_paneStack, 0, 0, 1, 5); - layout->addWidget(m_overview, 1, 0); - layout->addWidget(m_fader, 1, 1); - layout->addWidget(m_playSpeed, 1, 2); - layout->addWidget(m_playSharpen, 1, 3); - layout->addWidget(m_playMono, 1, 4); + m_infoWidget = new InfoWidget(); + m_searchWidget = new SearchWidget(); + m_resultsWidget = new QueryResultsWidget(); + + m_qtabwidget = new QTabWidget(); + m_qtabwidget->addTab(m_searchWidget, tr("Search")); + m_qtabwidget->addTab(m_resultsWidget, tr("Result")); + m_qtabwidget->addTab(m_infoWidget, tr("Info")); + m_qtabwidget->addTab(new QWidget, tr("Related media")); + + QGridLayout *auxlayout = new QGridLayout; + auxlayout->addWidget(m_paneStack, 0, 0, 1, 5); + auxlayout->addWidget(m_overview, 1, 0); + auxlayout->addWidget(m_fader, 1, 1); + auxlayout->addWidget(m_playSpeed, 1, 2); + auxlayout->addWidget(m_playSharpen, 1, 3); + auxlayout->addWidget(m_playMono, 1, 4); + QWidget *auxwidget = new QWidget; + auxwidget->setLayout(auxlayout); + + ExpandWidget *bottomExpandWidget = new ExpandWidget(); + bottomExpandWidget->setWidgetLocation(ExpandWidget::Location_Bottom); + bottomExpandWidget->setPanes(auxwidget, m_qtabwidget); + + m_toolBox = new AdvancedToolBox(); + m_toolBox->addItem("Layers", new QWidget); + m_toolBox->addItem("Real-time filters", new QWidget); + + ExpandWidget *mainExpandWidget = new ExpandWidget(); + mainExpandWidget->setWidgetLocation(ExpandWidget::Location_Right); + mainExpandWidget->setPanes(bottomExpandWidget, m_toolBox); + + layout->addWidget(mainExpandWidget, 0, 0); m_paneStack->setPropertyStackMinWidth (m_fader->width() + m_playSpeed->width() + m_playSharpen->width() + @@ -401,6 +438,7 @@ setupViewMenu(); setupPaneAndLayerMenus(); setupTransformsMenu(); + setupSettingMenu(); setupHelpMenu(); m_mainMenusCreated = true; @@ -651,6 +689,26 @@ } void +MainWindow::setupSettingMenu() +{ + if (m_mainMenusCreated) return; + + QAction *action = 0; + QMenu *menu = 0; + + menu = menuBar()->addMenu(tr("&Settings")); + menu->setTearOffEnabled(true); + + //action = new QAction(tr("&Connection settings"), this); + //connect(action, SIGNAL(triggered()), this, SLOT(connectionSettings())); + //menu->addAction(action); + + action = new QAction(tr("&Style setting"), this); + connect(action, SIGNAL(triggered()), this, SLOT(styleSetting())); + menu->addAction(action); +} + +void MainWindow::setupViewMenu() { if (m_mainMenusCreated) return; @@ -2574,6 +2632,18 @@ CommandHistory::getInstance()->documentSaved(); documentRestored(); updateMenuStates(); + + QWidget *properties = 0; + + properties = new PropertyStack(0, m_paneStack->getCurrentPane() ); + //properties->show(); + m_toolBox->removeItem(0); + m_toolBox->insertItem(0,"Layers", properties); + + /*connect(properties, SIGNAL(propertyContainerSelected(View *, PropertyContainer *)), + this, SLOT(propertyContainerSelected(View *, PropertyContainer *))); + properties->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum); + */ } void @@ -4772,3 +4842,7 @@ QMessageBox::about(this, tr("About Sonic Visualiser"), aboutText); } +void MainWindow::styleSetting() +{ + m_gallery.show(); +} \ No newline at end of file