NetPanelController::NetPanelController(QWidget *parent, NetView *view, Plasma::Containment *containment) : Plasma::Dialog(parent), m_containment(containment), m_view(view), m_watched(0) { hide(); m_mainWidget = new QGraphicsWidget(containment); if (containment && containment->corona()) { containment->corona()->addOffscreenWidget(m_mainWidget); } m_layout = new QGraphicsLinearLayout(Qt::Horizontal, m_mainWidget); m_iconSvg = new Plasma::Svg(this); m_iconSvg->setImagePath("widgets/configuration-icons"); m_iconSvg->setContainsMultipleImages(true); m_iconSvg->resize(KIconLoader::SizeSmall, KIconLoader::SizeSmall); m_moveButton = new Plasma::ToolButton(m_mainWidget); m_moveButton->nativeWidget()->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); m_moveButton->setIcon(m_iconSvg->pixmap("move")); m_moveButton->setText(i18n("Screen edge")); m_moveButton->setCursor(Qt::SizeAllCursor); m_layout->addItem(m_moveButton); m_resizeButton = new Plasma::ToolButton(m_mainWidget); m_resizeButton->nativeWidget()->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); m_resizeButton->setIcon(m_iconSvg->pixmap("size-vertical")); m_resizeButton->setText(i18n("Height")); m_layout->addItem(m_resizeButton); m_autoHideButton = new Plasma::ToolButton(m_mainWidget); m_autoHideButton->nativeWidget()->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); m_autoHideButton->nativeWidget()->setCheckable(true); m_autoHideButton->setIcon(m_iconSvg->pixmap("collapse")); m_autoHideButton->setText(i18n("Auto Hide")); m_layout->addItem(m_autoHideButton); m_autoHideButton->nativeWidget()->setChecked(view->autoHide()); connect(m_autoHideButton->nativeWidget(), SIGNAL(toggled(bool)), view, SLOT(setAutoHide(bool))); connect(containment, SIGNAL(geometryChanged()), this, SLOT(updatePosition())); m_moveButton->installEventFilter(this); m_resizeButton->installEventFilter(this); setGraphicsWidget(m_mainWidget); layout()->activate(); m_layout->activate(); m_mainWidget->resize(m_mainWidget->effectiveSizeHint(Qt::PreferredSize)); updatePosition(); show(); Plasma::WindowEffects::slideWindow(this, containment->location()); KWindowSystem::setState(winId(), NET::KeepAbove|NET::StaysOnTop); }
void XbmcremoteApplet::init() { Plasma::Containment * c = containment(); /* When applet is not in panel the tooltip always appears when hovering any point of the popup's area, which is annoying. */ if (c && (c->containmentType() == Plasma::Containment::PanelContainment || c->containmentType() == Plasma::Containment::CustomPanelContainment)) { Plasma::ToolTipManager::self()->registerWidget(this); m_panelContainment = true; } else { m_panelContainment = false; } //kDebug(); m_popup = new DeclarativePopup(this); // TODO: config // connect(d->m_popup, SIGNAL(configNeedsSaving()), this, SIGNAL(configNeedsSaving())); // TODO: context options // QAction* action = new QAction(i18nc("CheckBox to enable or disable networking completely", "Enable networking"), this); // action->setToolTip(i18nc("@info:tooltip tooltip for the 'Enable networking' checkbox", "Enable or disable the networking system")); // action->setCheckable(true); // action->setChecked(NetworkManager::isNetworkingEnabled()); // connect(action, SIGNAL(triggered(bool)), d->m_popup, SLOT(networkingEnabledToggled(bool))); // connect(NetworkManager::notifier(), SIGNAL(networkingEnabledChanged(bool)), // action, SLOT(setChecked(bool))); // d->actions.append(action); setGraphicsWidget(m_popup); connect(Xbmc::instance(), SIGNAL(connectedChanged(bool)), SLOT(connectedChanged(bool))); connect(Xbmc::instance(), SIGNAL(activePlayerChanged()), SLOT(activePlayerChanged())); }
void WicdApplet::init() { m_theme->resize(contentsRect().size()); Plasma::ToolTipManager::self()->registerWidget(this); //load dataengine Plasma::DataEngine *engine = dataEngine("wicd"); if (!engine->isValid()) { setFailedToLaunch(true, i18n("Unable to load the Wicd data engine.")); return; } setupActions(); //build the popup dialog QGraphicsWidget *appletDialog = new QGraphicsWidget(this); m_dialoglayout = new QGraphicsLinearLayout(Qt::Vertical); //Network list m_scrollWidget = new Plasma::ScrollWidget(appletDialog); m_scrollWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); m_scrollWidget->setFlag(QGraphicsItem::ItemClipsChildrenToShape); m_scrollWidget->setMaximumHeight(400); m_networkView = new NetworkView(m_scrollWidget); m_scrollWidget->setWidget(m_networkView); m_busyWidget = new Plasma::BusyWidget(m_scrollWidget); m_busyWidget->hide(); m_dialoglayout->addItem(m_scrollWidget); //Separator m_dialoglayout->addItem(new Plasma::Separator(appletDialog)); //Bottom bar QGraphicsLinearLayout* bottombarLayout = new QGraphicsLinearLayout(Qt::Horizontal); m_messageBox = new Plasma::Label(appletDialog); m_messageBox->setWordWrap(false); bottombarLayout->addItem(m_messageBox); bottombarLayout->addStretch(); m_abortButton = new Plasma::ToolButton(appletDialog); m_abortButton->setIcon(KIcon("dialog-cancel")); m_abortButton->nativeWidget()->setToolTip(i18n("Abort")); connect(m_abortButton, SIGNAL(clicked()), this, SLOT(cancelConnect())); bottombarLayout->addItem(m_abortButton); Plasma::ToolButton *reloadButton = new Plasma::ToolButton(appletDialog); reloadButton->nativeWidget()->setToolTip(i18n("Reload")); reloadButton->setAction(action("reload")); bottombarLayout->addItem(reloadButton); m_dialoglayout->addItem(bottombarLayout); appletDialog->setLayout(m_dialoglayout); setGraphicsWidget(appletDialog); setHasConfigurationInterface(true); // read config configChanged(); connect(Plasma::Theme::defaultTheme(), SIGNAL(themeChanged()), SLOT(updateColors())); //prevent notification on startup m_status.State = 10; m_isScanning = false; //connect dataengine m_wicdService = engine->serviceForSource(""); engine->connectSource("status", this); engine->connectSource("daemon", this); }