-rw-r--r-- | noncore/styles/phase/phasestyle.cpp | 10 | ||||
-rw-r--r-- | noncore/styles/phase/phasestyle.h | 8 |
2 files changed, 15 insertions, 3 deletions
diff --git a/noncore/styles/phase/phasestyle.cpp b/noncore/styles/phase/phasestyle.cpp index ba8c460..906ccee 100644 --- a/noncore/styles/phase/phasestyle.cpp +++ b/noncore/styles/phase/phasestyle.cpp @@ -289,83 +289,93 @@ void PhaseStyle::drawBevelButton(QPainter* p, int x, int y, QBrush b = fill ? *fill : group.brush( QColorGroup::Button ); if (sunken) { // sunken bevels don't get gradients p->fillRect(x+2, y+2, w-4, h-4, b); } else drawPhaseGradient(p, QRect(x+2, y+2, w-4, h-4), b.color() ); p->restore(); } void PhaseStyle::drawPhaseGradient(QPainter* painter, const QRect& rect, const QColor& color )const { painter->fillRect(rect, color); } void PhaseStyle::polish( QWidget* widget ) { QWindowsStyle::polish(widget ); #if 0 if (widget->inherits("QMenuBar") || widget->inherits("QPopupMenu" ) || widget->inherits("QToolButton") || widget->inherits("QHeader" ) ) { widget->setBackgroundMode(QWidget::NoBackground); } // else if (widget->inherits("QFrame") ) { // widget->installEventFilter(this); // } #endif } +void PhaseStyle::unPolish( QWidget *w ) +{ + QWindowsStyle::unPolish( w ); +} + void PhaseStyle::polish( QPalette &pal ) { QWindowsStyle::polish( pal ); // lighten up a bit, so the look is not so "crisp" if (QPixmap::defaultDepth() > 8) { // but not on low color displays pal.setColor(QPalette::Disabled, QColorGroup::Dark, pal.color(QPalette::Disabled, QColorGroup::Dark).light(contrast)); pal.setColor(QPalette::Active, QColorGroup::Dark, pal.color(QPalette::Active, QColorGroup::Dark).light(contrast)); pal.setColor(QPalette::Inactive, QColorGroup::Dark, pal.color(QPalette::Inactive, QColorGroup::Dark).light(contrast)); } } void PhaseStyle::polish( QApplication* app ) { QWindowsStyle::polish( app ); qt_set_draw_menu_bar_impl((QDrawMenuBarItemImpl)&PhaseStyle::drawMenuBarItem); } +void PhaseStyle::unPolish( QApplication* app ) { + QWindowsStyle::unPolish(app); + qt_set_draw_menu_bar_impl ( 0 ); +} + void PhaseStyle::drawPushButtonLabel (QPushButton *button, QPainter *painter) { bool active = button->isOn() || button->isDown(); QRect r = pushButtonContentsRect( button ); QColorGroup group = button->colorGroup(); int x, y, w, h; r.rect( &x, &y, &w, &h ); bool sunken = false; QIconSet::Mode mode; QPixmap pixmap; if (active) {// shift contents x++; y++; sunken = true; } if (button->isMenuButton()) { // draw the indicator //dx = pixelMetric(PM_MenuButtonIndicator, widget); int dx = menuButtonIndicatorWidth( button->height() ); drawArrow(painter, Qt::DownArrow, active, x+w-dx, y+2, dx-4, h-4, group,button->isEnabled() ); w -= dx; } if (button->iconSet() && !button->iconSet()->isNull()) { // draw icon if (button->isEnabled()) { if (button->hasFocus()) { mode = QIconSet::Active; } else { mode = QIconSet::Normal; } } else { diff --git a/noncore/styles/phase/phasestyle.h b/noncore/styles/phase/phasestyle.h index cbaa534..ae53efe 100644 --- a/noncore/styles/phase/phasestyle.h +++ b/noncore/styles/phase/phasestyle.h @@ -11,67 +11,69 @@ // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or // sell copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS // IN THE SOFTWARE. ////////////////////////////////////////////////////////////////////////////// #ifndef PHASESTYLE_H #define PHASESTYLE_H #include <qstyle.h> #include <qwindowsstyle.h> #include <qcolor.h> class KPixmap; class PhaseStyle : public QWindowsStyle { Q_OBJECT public: PhaseStyle(); virtual ~PhaseStyle(); - void polish( QWidget * ); - void polish( QPalette& ); - void polish( QApplication* ); + virtual void polish( QWidget * ); + virtual void polish( QPalette& ); + virtual void polish( QApplication* a); + virtual void unPolish( QWidget * ); + virtual void unPolish(QApplication *a); void drawCheckMark ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, bool act, bool dis ); void drawArrow(QPainter *p, Qt::ArrowType type, bool down, int x, int y, int w, int h, const QColorGroup &g, bool enabled=true, const QBrush *fill = 0); void drawPushButton(QPushButton* btn, QPainter* p ); void drawPushButtonLabel(QPushButton* btn, QPainter* p ); void drawPanel(QPainter* p, int , int, int, int, const QColorGroup&, bool sunken = false, int lineWidth = 1, const QBrush *b = 0l ); void drawButton( QPainter*, int x, int y, int w, int h, const QColorGroup&, bool sunken = false, const QBrush* fill = 0); void drawBevelButton(QPainter*, int, int, int, int, const QColorGroup&, bool sunken = false, const QBrush* fill = 0 ); void drawFocusRect( QPainter* p, const QRect& r, const QColorGroup&, const QColor* = 0, bool atBorder = false ); void drawButtonMask( QPainter* p, int x, int y, int w, int h ); /* Menu Stuff */ void drawSeperator( QPainter* p, int x, int y, int w, int h, const QColorGroup& group, bool sunken = true, int lineWidth = 1, int midLineWidtth = 0 ); void drawMenuBarItem(QPainter* p, int x, int y, int w, int h, |