diff options
| -rw-r--r-- | src/plugins/Visual/projectm/projectmplugin.cpp | 17 | ||||
| -rw-r--r-- | src/plugins/Visual/projectm/projectmplugin.h | 3 | ||||
| -rw-r--r-- | src/plugins/Visual/projectm/projectmwidget.cpp | 7 | ||||
| -rw-r--r-- | src/plugins/Visual/projectm/projectmwidget.h | 2 |
4 files changed, 21 insertions, 8 deletions
diff --git a/src/plugins/Visual/projectm/projectmplugin.cpp b/src/plugins/Visual/projectm/projectmplugin.cpp index 1178226c5..37af68d86 100644 --- a/src/plugins/Visual/projectm/projectmplugin.cpp +++ b/src/plugins/Visual/projectm/projectmplugin.cpp @@ -41,19 +41,25 @@ ProjectMPlugin::ProjectMPlugin (QWidget *parent) setWindowTitle(tr("ProjectM")); QListWidget *listWidget = new QListWidget(this); + listWidget->setAlternatingRowColors(true); m_projectMWidget = new ProjectMWidget(listWidget, this); m_splitter = new QSplitter(Qt::Horizontal, this); m_splitter->addWidget(listWidget); m_splitter->addWidget(m_projectMWidget); + m_splitter->setStretchFactor(1,1); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(m_splitter); layout->setContentsMargins(0,0,0,0); setLayout(layout); addActions(m_projectMWidget->actions()); connect(m_projectMWidget, SIGNAL(showMenuToggled(bool)), listWidget, SLOT(setVisible(bool))); - resize(300,300); + connect(m_projectMWidget, SIGNAL(fullscreenToggled(bool)), SLOT(setFullScreen(bool))); + listWidget->hide(); + resize(600,400); QSettings settings(Qmmp::configFile(), QSettings::IniFormat); restoreGeometry(settings.value("ProjectM/geometry").toByteArray()); + m_splitter->setSizes(QList<int>() << 300 << 300); + m_splitter->restoreState(settings.value("ProjectM/splitter_sizes").toByteArray()); } ProjectMPlugin::~ProjectMPlugin() @@ -64,6 +70,14 @@ void ProjectMPlugin::clear() update(); } +void ProjectMPlugin::setFullScreen(bool yes) +{ + if(yes) + setWindowState(windowState() | Qt::WindowFullScreen); + else + setWindowState(windowState() & ~Qt::WindowFullScreen); +} + void ProjectMPlugin::add (unsigned char *data, qint64 size, int chan) { Q_UNUSED(chan); @@ -77,5 +91,6 @@ void ProjectMPlugin::closeEvent (QCloseEvent *event) //save geometry QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.setValue("ProjectM/geometry", saveGeometry()); + settings.setValue("ProjectM/splitter_sizes", m_splitter->saveState()); Visual::closeEvent(event); //removes visualization object } diff --git a/src/plugins/Visual/projectm/projectmplugin.h b/src/plugins/Visual/projectm/projectmplugin.h index f44b0d292..3a53bae36 100644 --- a/src/plugins/Visual/projectm/projectmplugin.h +++ b/src/plugins/Visual/projectm/projectmplugin.h @@ -38,6 +38,9 @@ public: void add(unsigned char *data, qint64 size, int chan); void clear(); +private slots: + void setFullScreen(bool yes); + private: void closeEvent(QCloseEvent *event); QTimer *m_timer; diff --git a/src/plugins/Visual/projectm/projectmwidget.cpp b/src/plugins/Visual/projectm/projectmwidget.cpp index b43441f28..d39290efd 100644 --- a/src/plugins/Visual/projectm/projectmwidget.cpp +++ b/src/plugins/Visual/projectm/projectmwidget.cpp @@ -169,7 +169,7 @@ void ProjectMWidget::createActions() m_menu->addAction(tr("&Random Preset"), this, SLOT(randomPreset()), tr("R")); m_menu->addAction(tr("&Lock Preset"), this, SLOT(lockPreset(bool)), tr("L"))->setCheckable(true); m_menu->addSeparator(); - m_menu->addAction(tr("&Fullscreen"), this, SLOT(fullScreen()), tr("F")); + m_menu->addAction(tr("&Fullscreen"), this, SIGNAL(fullscreenToggled(bool)), tr("F"))->setCheckable(true); m_menu->addSeparator(); addActions(m_menu->actions()); } @@ -209,11 +209,6 @@ void ProjectMWidget::lockPreset(bool lock) m_projectM->setPresetLock(lock); } -void ProjectMWidget::fullScreen() -{ - parentWidget()->setWindowState (parentWidget()->windowState() ^Qt::WindowFullScreen); -} - void ProjectMWidget::updateTitle() { std::string artist = SoundCore::instance()->metaData(Qmmp::ARTIST).toLocal8Bit().constData(); diff --git a/src/plugins/Visual/projectm/projectmwidget.h b/src/plugins/Visual/projectm/projectmwidget.h index f2597ea1b..e6f739646 100644 --- a/src/plugins/Visual/projectm/projectmwidget.h +++ b/src/plugins/Visual/projectm/projectmwidget.h @@ -43,6 +43,7 @@ public: signals: void showMenuToggled(bool); + void fullscreenToggled(bool); protected: virtual void initializeGL(); @@ -58,7 +59,6 @@ private slots: void previousPreset(); void randomPreset(); void lockPreset(bool lock); - void fullScreen(); void updateTitle(); void setCurrentRow(int row); |
