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);
}
Beispiel #2
0
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()));
}