author | waspe <waspe> | 2003-11-27 17:01:30 (UTC) |
---|---|---|
committer | waspe <waspe> | 2003-11-27 17:01:30 (UTC) |
commit | bca32c26da3baf0762be9b8b99c4fe0d4f3074f6 (patch) (side-by-side diff) | |
tree | ca38f8d72ff9f44d995b5efa62c669c653cebcbd | |
parent | 015b7fb8b90089e762f0e15c0857d657b5b2092a (diff) | |
download | opie-bca32c26da3baf0762be9b8b99c4fe0d4f3074f6.zip opie-bca32c26da3baf0762be9b8b99c4fe0d4f3074f6.tar.gz opie-bca32c26da3baf0762be9b8b99c4fe0d4f3074f6.tar.bz2 |
eliminated drawpad segfault
-rw-r--r-- | libopie/colorpopupmenu.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libopie/colorpopupmenu.cpp b/libopie/colorpopupmenu.cpp index dac10e9..5a8d77e 100644 --- a/libopie/colorpopupmenu.cpp +++ b/libopie/colorpopupmenu.cpp @@ -44,127 +44,130 @@ OColorPanelButton::OColorPanelButton( const QColor& color, QWidget* parent, cons setFixedSize( 16, 16 ); setActive( FALSE ); } OColorPanelButton::~OColorPanelButton() { } void OColorPanelButton::setActive( bool active ) { m_active = active; if ( m_active ) { setFrameStyle( Panel | Sunken ); } else { setFrameStyle( NoFrame ); } } void OColorPanelButton::enterEvent( QEvent* ) { if ( !m_active ) { setFrameStyle( Panel | Sunken ); } } void OColorPanelButton::leaveEvent( QEvent* ) { if ( !m_active ) { setFrameStyle( NoFrame ); } } void OColorPanelButton::paintEvent( QPaintEvent* e ) { QFrame::paintEvent( e ); QPainter painter; painter.begin( this ); painter.fillRect( 2, 2, 12, 12, m_color ); painter.setPen( Qt::black ); painter.drawRect( 2, 2, 12, 12 ); painter.end(); } void OColorPanelButton::mouseReleaseEvent( QMouseEvent* ) { emit selected( m_color ); } OColorPopupMenu::OColorPopupMenu( const QColor& color, QWidget* parent, const char* name ) : QPopupMenu( parent, name ) { m_color = color; colorPanel = new QWidget( this ); colorLayout = new QGridLayout(colorPanel, 5, 6); addColor(QColor(255, 255, 255), 0, 1); addColor(QColor(192, 192, 192), 0, 2); addColor(QColor(128, 128, 128), 0, 3); addColor(QColor(64, 64, 64), 0, 4); addColor(QColor(0, 0, 0), 0, 5); addColor(QColor(255, 0, 0), 1, 0); addColor(QColor(255, 128, 0), 1, 1); addColor(QColor(255, 255, 0), 1, 2); addColor(QColor(128, 255, 0), 1, 3); addColor(QColor(0, 255, 0), 1, 4); addColor(QColor(0, 255, 128), 1, 5); addColor(QColor(128, 0, 0), 2, 0); addColor(QColor(128, 64, 0), 2, 1); addColor(QColor(128, 128, 0), 2, 2); addColor(QColor(64, 128, 0), 2, 3); addColor(QColor(0, 128, 0), 2, 4); addColor(QColor(0, 128, 64), 2, 5); addColor(QColor(0, 255, 255), 3, 0); addColor(QColor(0, 128, 255), 3, 1); addColor(QColor(0, 0, 255), 3, 2); addColor(QColor(128, 0, 255), 3, 3); addColor(QColor(255, 0, 255), 3, 4); addColor(QColor(255, 0, 128), 3, 5); addColor(QColor(0, 128, 128), 4, 0); addColor(QColor(0, 64, 128), 4, 1); addColor(QColor(0, 0, 128), 4, 2); addColor(QColor(64, 0, 128), 4, 3); addColor(QColor(128, 0, 128), 4, 4); addColor(QColor(128, 0, 64), 4, 5); insertItem( colorPanel ); insertSeparator(); + insertItem(tr("More"),this,SLOT( moreColorClicked())); + /* QAction* chooseColorAction = new QAction( tr( "More" ), tr( "More..." ), 0, colorPanel, "More" ); connect( chooseColorAction, SIGNAL( activated() ), this, SLOT( moreColorClicked() ) ); chooseColorAction->addTo( this ); + */ activateItemAt( 0 ); } OColorPopupMenu::~OColorPopupMenu() { } void OColorPopupMenu::addColor( const QColor& color, int row, int col ) { OColorPanelButton* panelButton = new OColorPanelButton( color, colorPanel ); connect( panelButton, SIGNAL( selected( const QColor& ) ), this, SLOT( buttonSelected( const QColor& ) ) ); colorLayout->addWidget( panelButton, row, col ); } void OColorPopupMenu::buttonSelected( const QColor& color ) { m_color = color; emit colorSelected( color ); hide(); } void OColorPopupMenu::moreColorClicked() { QColor color = OColorDialog::getColor( m_color ); m_color = color; emit colorSelected( color ); hide(); } |