ViewToolBar::ViewToolBar(QWidget *parent) : QToolBar(parent) { group = new QActionGroup(this); setIconSize(QSize(20,20)); setToolButtonStyle(Qt::ToolButtonTextBesideIcon); // adding a dummy space widget appears to even out the toolbar addWidget(new QWidget(this)); dbSelect = new QComboBox(this); dbSelect->setMinimumWidth(150); connect(dbSelect, SIGNAL(activated(int)), this, SLOT(dbComboModified(int))); addWidget(dbSelect); viewActions.append(addExclusiveAction(":content", "Content", SLOT(showContent()))); viewActions.append(addExclusiveAction(":schema", "Schema", SLOT(showStructure()))); viewActions.append(addExclusiveAction(":query", "Query", SLOT(showQuery()))); QWidget* spacer = new QWidget(this); spacer->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred); addWidget(spacer); back = QToolBar::addAction("<", this, SIGNAL(historyBack())); back->setEnabled(false); forward = QToolBar::addAction(">", this, SIGNAL(historyForward())); forward->setEnabled(false); viewActions.append(addAction(QIcon(":disconnect"), "Disconnect", this, SIGNAL(disconnect()))); }
void KdmThemer::widgetEvent( QEvent *e ) { if (!rootItem) return; switch (e->type()) { case QEvent::MouseMove: { QMouseEvent *me = static_cast<QMouseEvent *>(e); rootItem->mouseEvent( me->x(), me->y() ); } break; case QEvent::MouseButtonPress: { QMouseEvent *me = static_cast<QMouseEvent *>(e); rootItem->mouseEvent( me->x(), me->y(), true ); } break; case QEvent::MouseButtonRelease: { QMouseEvent *me = static_cast<QMouseEvent *>(e); rootItem->mouseEvent( me->x(), me->y(), false, true ); } break; case QEvent::Resize: m_geometryOutdated = true; widget()->update(); break; case QEvent::Paint: if (m_geometryOutdated) { debug() << "==== updating geometry ====" << endl; QStack<QSize> ps; QRect rect( QPoint( 0, 0 ), widget()->size() ); rootItem->setGeometry( ps, rect, m_geometryInvalid ); if (debugLevel & DEBUG_THEMING) showStructure(); m_geometryOutdated = m_geometryInvalid = false; } { QRect paintRect = static_cast<QPaintEvent *>(e)->rect(); //kDebug() << "paint on: " << paintRect; QPainter p( widget() ); rootItem->paint( &p, paintRect ); rootItem->showWidget(); } break; default: break; } }