src/gui/styles/qstylesheetstyle.cpp
changeset 22 79de32ba3296
parent 18 2f34d5167611
child 23 89e065397ea6
equal deleted inserted replaced
19:fcece45ef507 22:79de32ba3296
  4240         }
  4240         }
  4241 #ifndef QT_NO_SCROLLAREA
  4241 #ifndef QT_NO_SCROLLAREA
  4242         if (const QAbstractScrollArea *sa = qobject_cast<const QAbstractScrollArea *>(w)) {
  4242         if (const QAbstractScrollArea *sa = qobject_cast<const QAbstractScrollArea *>(w)) {
  4243             const QAbstractScrollAreaPrivate *sap = sa->d_func();
  4243             const QAbstractScrollAreaPrivate *sap = sa->d_func();
  4244             rule.drawBackground(p, opt->rect, sap->contentsOffset());
  4244             rule.drawBackground(p, opt->rect, sap->contentsOffset());
  4245             if (rule.hasBorder())
  4245             if (rule.hasBorder()) {
  4246                 rule.drawBorder(p, rule.borderRect(opt->rect));
  4246                 QRect brect = rule.borderRect(opt->rect);
       
  4247                 if (styleHint(QStyle::SH_ScrollView_FrameOnlyAroundContents, opt, w)) {
       
  4248                     QRect r = brect.adjusted(0, 0, sa->verticalScrollBar()->isVisible() ? -sa->verticalScrollBar()->width() : 0,
       
  4249                                              sa->horizontalScrollBar()->isVisible() ? -sa->horizontalScrollBar()->height() : 0);
       
  4250                     brect = QStyle::visualRect(opt->direction, brect, r);
       
  4251                 }
       
  4252                 rule.drawBorder(p, brect);
       
  4253             }
  4247             break;
  4254             break;
  4248         }
  4255         }
  4249 #endif
  4256 #endif
  4250     //fall tghought
  4257     //fall tghought
  4251     case PE_PanelMenu:
  4258     case PE_PanelMenu:
  4625             QSize msz = subRule.minimumSize();
  4632             QSize msz = subRule.minimumSize();
  4626             if (const QStyleOptionSlider *sb = qstyleoption_cast<const QStyleOptionSlider *>(opt))
  4633             if (const QStyleOptionSlider *sb = qstyleoption_cast<const QStyleOptionSlider *>(opt))
  4627                 return sb->orientation == Qt::Horizontal ? msz.width() : msz.height();
  4634                 return sb->orientation == Qt::Horizontal ? msz.width() : msz.height();
  4628             return msz.width() == -1 ? msz.height() : msz.width();
  4635             return msz.width() == -1 ? msz.height() : msz.width();
  4629         }
  4636         }
       
  4637         break;
       
  4638 
       
  4639     case PM_ScrollView_ScrollBarSpacing:
       
  4640         if(!rule.hasNativeBorder() || rule.hasBox())
       
  4641             return 0;
  4630         break;
  4642         break;
  4631 #endif // QT_NO_SCROLLBAR
  4643 #endif // QT_NO_SCROLLBAR
  4632 
  4644 
  4633     case PM_ProgressBarChunkWidth:
  4645     case PM_ProgressBarChunkWidth:
  4634         subRule = renderRule(w, opt, PseudoElement_ProgressBarChunk);
  4646         subRule = renderRule(w, opt, PseudoElement_ProgressBarChunk);