# HG changeset patch # User Chris Cannam # Date 1222445916 0 # Node ID 7466402a32c5d49a2b6c9cbd2a82e2708b0f5b81 # Parent f8e04ad8e7b1645d2c0668df8a88115a3060c6e0 * moar pointless twiddlin diff -r f8e04ad8e7b1 -r 7466402a32c5 widgets/TransformFinder.cpp --- a/widgets/TransformFinder.cpp Thu Sep 25 13:47:40 2008 +0000 +++ b/widgets/TransformFinder.cpp Fri Sep 26 16:18:36 2008 +0000 @@ -17,22 +17,24 @@ #include "transform/TransformFactory.h" -#include +#include #include #include #include //#include #include #include +#include SelectableLabel::SelectableLabel(QWidget *parent) : QLabel(parent), m_selected(false) { + setStyleSheet("QLabel:hover { background: #e0e0e0; text: black; } QLabel:!hover { background: white; text: black } QLabel { padding: 4px }"); + setTextFormat(Qt::RichText); setLineWidth(2); setFixedWidth(420); - setWordWrap(true); } void @@ -62,12 +64,14 @@ m_selected = s; if (m_selected) { setText(m_selectedText); - setFrameStyle(QFrame::Box | QFrame::Plain); + setWordWrap(true); +// setFrameStyle(QFrame::Box | QFrame::Plain); } else { setText(m_unselectedText); - setFrameStyle(QFrame::NoFrame); + setWordWrap(false); +// setFrameStyle(QFrame::NoFrame); } - resize(sizeHint()); +// resize(sizeHint()); parentWidget()->resize(parentWidget()->sizeHint()); } @@ -84,6 +88,26 @@ emit selectionChanged(); } +void +SelectableLabel::enterEvent(QEvent *) +{ +// std::cerr << "enterEvent" << std::endl; +// QPalette palette = QApplication::palette(); +// palette.setColor(QPalette::Window, Qt::gray); +// setStyleSheet("background: gray"); +// setPalette(palette); +} + +void +SelectableLabel::leaveEvent(QEvent *) +{ +// std::cerr << "leaveEvent" << std::endl; +// setStyleSheet("background: white"); +// QPalette palette = QApplication::palette(); +// palette.setColor(QPalette::Window, Qt::gray); +// setPalette(palette); +} + TransformFinder::TransformFinder(QWidget *parent) : QDialog(parent), m_resultsFrame(0), @@ -92,6 +116,7 @@ setWindowTitle(tr("Find a Transform")); QGridLayout *mainGrid = new QGridLayout; + mainGrid->setVerticalSpacing(0); setLayout(mainGrid); mainGrid->addWidget(new QLabel(tr("Find:")), 0, 0); @@ -111,8 +136,22 @@ mainGrid->addWidget(bb, 2, 0, 1, 2); connect(bb, SIGNAL(accepted()), this, SLOT(accept())); connect(bb, SIGNAL(rejected()), this, SLOT(reject())); + if (!m_resultsLayout) { + std::cerr << "creating frame & layout" << std::endl; + m_resultsFrame = new QWidget; + QPalette palette = m_resultsFrame->palette(); + palette.setColor(QPalette::Window, palette.color(QPalette::Base)); + m_resultsFrame->setPalette(palette); + m_resultsScroll->setPalette(palette); +// resultsFrame->setFrameStyle(QFrame::Sunken | QFrame::Box); + m_resultsLayout = new QVBoxLayout; + m_resultsFrame->setLayout(m_resultsLayout); + m_resultsScroll->setWidget(m_resultsFrame); + m_resultsFrame->show(); + } resize(500, 400); //!!! + m_resultsFrame->resize(480, 380); } TransformFinder::~TransformFinder() @@ -151,16 +190,6 @@ } */ - if (!m_resultsLayout) { - std::cerr << "creating frame & layout" << std::endl; - m_resultsFrame = new QWidget; -// resultsFrame->setFrameStyle(QFrame::Sunken | QFrame::Box); - m_resultsLayout = new QGridLayout; - m_resultsFrame->setLayout(m_resultsLayout); - m_resultsScroll->setWidget(m_resultsFrame); - m_resultsFrame->show(); - } - i = 0; int maxResults = 40; int height = 0; @@ -205,12 +234,15 @@ if (i >= m_labels.size()) { SelectableLabel *label = new SelectableLabel(m_resultsFrame); - m_resultsLayout->addWidget(label, i, 0); +// m_resultsLayout->addWidget(label, i, 0); + m_resultsLayout->addWidget(label); connect(label, SIGNAL(selectionChanged()), this, SLOT(selectedLabelChanged())); + QPalette palette = label->palette(); + label->setPalette(palette); m_labels.push_back(label); } - + m_labels[i]->setObjectName(desc.identifier); m_selectedTransform = desc.identifier; m_labels[i]->setUnselectedText(labelText); diff -r f8e04ad8e7b1 -r 7466402a32c5 widgets/TransformFinder.h --- a/widgets/TransformFinder.h Thu Sep 25 13:47:40 2008 +0000 +++ b/widgets/TransformFinder.h Fri Sep 26 16:18:36 2008 +0000 @@ -22,7 +22,7 @@ #include "transform/Transform.h" -class QGridLayout; +class QVBoxLayout; class QScrollArea; class QLabel; class SelectableLabel; @@ -52,6 +52,8 @@ protected: virtual void mousePressEvent(QMouseEvent *e); + virtual void enterEvent(QEvent *); + virtual void leaveEvent(QEvent *); QString m_selectedText; QString m_unselectedText; bool m_selected; @@ -74,7 +76,7 @@ protected: QScrollArea *m_resultsScroll; QWidget *m_resultsFrame; - QGridLayout *m_resultsLayout; + QVBoxLayout *m_resultsLayout; std::vector m_labels; TransformId m_selectedTransform; };