PaletteBox::PaletteBox(QWidget* parent) : QDockWidget(tr("Palettes"), parent) { setObjectName("palette-box"); setAllowedAreas(Qt::DockWidgetAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea)); PaletteBoxScrollArea* sa = new PaletteBoxScrollArea; sa->setFocusPolicy(Qt::NoFocus); sa->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); sa->setContextMenuPolicy(Qt::CustomContextMenu); sa->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); sa->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); sa->setWidgetResizable(true); sa->setFrameShape(QFrame::NoFrame); setWidget(sa); QWidget* paletteList = new QWidget; sa->setWidget(paletteList); vbox = new QVBoxLayout; paletteList->setLayout(vbox); vbox->setMargin(0); vbox->setSpacing(1); vbox->addStretch(); paletteList->show(); }
PaletteBox::PaletteBox(QWidget* parent) : QDockWidget(tr("Palettes"), parent) { setContextMenuPolicy(Qt::ActionsContextMenu); setObjectName("palette-box"); setAllowedAreas(Qt::DockWidgetAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea)); QAction* a = new QAction(this); a->setText(tr("Single Palette")); a->setCheckable(true); a->setChecked(preferences.singlePalette); addAction(a); connect(a, SIGNAL(toggled(bool)), SLOT(setSinglePalette(bool))); QWidget* w = new QWidget(this); w->setContextMenuPolicy(Qt::NoContextMenu); QVBoxLayout* vl = new QVBoxLayout(w); vl->setMargin(0); QHBoxLayout* hl = new QHBoxLayout; hl->setContentsMargins(5,5,5,0); workspaceList = new QComboBox; workspaceList->setToolTip(tr("Select workspace")); updateWorkspaces(); hl->addWidget(workspaceList); QToolButton* nb = new QToolButton; nb->setMinimumHeight(27); nb->setText(tr("+")); nb->setToolTip(tr("Add new workspace")); hl->addWidget(nb); setWidget(w); PaletteBoxScrollArea* sa = new PaletteBoxScrollArea; sa->setFocusPolicy(Qt::NoFocus); sa->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); sa->setContextMenuPolicy(Qt::CustomContextMenu); sa->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); sa->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); sa->setWidgetResizable(true); sa->setFrameShape(QFrame::NoFrame); vl->addWidget(sa); vl->addLayout(hl); QWidget* paletteList = new QWidget; sa->setWidget(paletteList); vbox = new QVBoxLayout; paletteList->setLayout(vbox); vbox->setMargin(0); vbox->setSpacing(1); vbox->addStretch(); paletteList->show(); connect(nb, SIGNAL(clicked()), SLOT(newWorkspaceClicked())); connect(workspaceList, SIGNAL(activated(int)), SLOT(workspaceSelected(int))); }