TaskBarContainer::TaskBarContainer(bool enableFrame, QWidget *parent, const char *name) : QFrame(parent, name), direction(KPanelApplet::Up), showWindowListButton(true), windowListButton(0), windowListMenu(0) { setBackgroundOrigin(AncestorOrigin); uint margin; if(enableFrame) { setFrameStyle(Sunken | StyledPanel); margin = frameWidth(); } else { setFrameStyle(NoFrame); margin = 0; } layout = new QBoxLayout(this, QApplication::reverseLayout() ? QBoxLayout::RightToLeft : QBoxLayout::LeftToRight); layout->setMargin(margin); // scrollable taskbar taskBar = new TaskBar(this); layout->addWidget(taskBar); connect(taskBar, SIGNAL(containerCountChanged()), SIGNAL(containerCountChanged())); setBackground(); // read settings and setup layout configure(); connectDCOPSignal("", "", "kdeTaskBarConfigChanged()", "configChanged()", false); }
TaskBarExtension::TaskBarExtension(const QString& configFile, Type type, int actions, QWidget *parent, const char *name) : KPanelExtension(configFile, type, actions, parent, name), m_bgImage(0), m_bgFilename(0), m_rootPixmap(0) { QHBoxLayout *layout = new QHBoxLayout(this); m_container = new TaskBarContainer(false, this); m_container->setBackgroundOrigin(AncestorOrigin); positionChange(position()); layout->addWidget(m_container); connect(m_container, SIGNAL(containerCountChanged()), SIGNAL(updateLayout())); kapp->dcopClient()->setNotifications(true); connectDCOPSignal("kicker", "kicker", "configurationChanged()", "configure()", false); connect(kapp, SIGNAL(kdisplayPaletteChanged()), SLOT(setBackgroundTheme())); QTimer::singleShot(0, this, SLOT(setBackgroundTheme())); }