void NowPlaying::init() { switch (formFactor()) { case Plasma::Horizontal: layoutHorizontal(); break; case Plasma::Vertical: layoutHorizontal(); // FIXME break; default: layoutPlanar(); break; } Plasma::DataEngine* nowPlayingEngine = dataEngine("nowplaying"); if (nowPlayingEngine) { connect(nowPlayingEngine, SIGNAL(sourceAdded(QString)), SLOT(playerAdded(QString))); connect(nowPlayingEngine, SIGNAL(sourceRemoved(QString)), SLOT(playerRemoved(QString))); findPlayer(); } else { kDebug() << "Now Playing engine not found"; } }
void NowPlaying::constraintsEvent(Plasma::Constraints constraints) { if (constraints & Plasma::FormFactorConstraint) { switch (formFactor()) { case Plasma::Horizontal: layoutHorizontal(); break; case Plasma::Vertical: layoutHorizontal(); // FIXME break; default: layoutPlanar(); break; } } if (constraints & Plasma::SizeConstraint) { switch (formFactor()) { case Plasma::Horizontal: setPreferredSize(contentsRect().height() * 2, contentsRect().height()); break; case Plasma::Vertical: setPreferredSize(contentsRect().width(), contentsRect().width() / 2); break; default: break; } } }
/* DockPanel::onSize * Called when the panel is resized *******************************************************************/ void DockPanel::onSize(wxSizeEvent& e) { // Get parent's AUI manager (if it exists) wxAuiManager* mgr = wxAuiManager::GetManager(GetParent()); if (!mgr) { e.Skip(); return; } // Check if floating if (mgr->GetPane(this).IsFloating()) { if (current_layout != 0) layoutNormal(); current_layout = 0; } else { // Not floating, layout horizontally or vertically depending on size if (GetSize().x >= GetSize().y) { if (current_layout != 1) layoutHorizontal(); current_layout = 1; } else { if (current_layout != 2) layoutVertical(); current_layout = 2; } } e.Skip(); }