sliders value set to where clicked
This commit is contained in:
parent
b6b7e1c577
commit
0e123f886d
6 changed files with 115 additions and 15 deletions
|
|
@ -6,6 +6,19 @@ CustomWidgetEvent<T>::CustomWidgetEvent(QEvent::Type type, T payload) : QEvent(t
|
|||
this->payload = payload;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* MeterSlider::MeterSlider(Qt::Orientation orientation, QWidget* parent) {
|
||||
* //style = new MixerStyle();
|
||||
* //this->setStyle(style);
|
||||
* }
|
||||
*/
|
||||
|
||||
|
||||
MeterSlider::~MeterSlider() {
|
||||
//delete style;
|
||||
}
|
||||
|
||||
void MeterSlider::setPeakValue(float peakValue) {
|
||||
this->peakValue = peakValue;
|
||||
}
|
||||
|
|
@ -99,7 +112,7 @@ void MeterSlider::paintEvent(QPaintEvent *event) {
|
|||
((QWidget*)parent())->layout()->getContentsMargins(&left, &top, &right, &bottom);
|
||||
|
||||
QStyle *style = QApplication::style();
|
||||
int lol = style->pixelMetric(QStyle::PM_SliderSpaceAvailable);
|
||||
//int lol = style->pixelMetric(QStyle::PM_SliderSpaceAvailable);
|
||||
QPainter painter(this);
|
||||
//painter.setPen(Qt::blue);
|
||||
painter.setOpacity(1.0);
|
||||
|
|
@ -125,8 +138,7 @@ void MeterSlider::paintEvent(QPaintEvent *event) {
|
|||
// - ((this->maximum() - this->value()) * stepWidth))
|
||||
//double ratio = ;
|
||||
double handleShift = (double)((sliderSize.width() * ((double)(this->maximum() - this->value()) / 100)));
|
||||
painter.fillRect((this->width() - ((this->maximum() - this->value()) * stepWidth)) - (sliderSize.width()) + handleShift,
|
||||
top / 2, sliderSize.width(), sliderSize.height() - bottom, Qt::magenta);
|
||||
painter.fillRect((this->width() - ((this->maximum() - this->value()) * stepWidth)) - (sliderSize.width()) + handleShift, top / 2, sliderSize.width(), sliderSize.height() - bottom, Qt::magenta);
|
||||
//sliderComplex.subControls = QStyle::SC_SliderHandle;
|
||||
//p.drawComplexControl(QStyle::CC_Slider, sliderComplex);
|
||||
}
|
||||
|
|
@ -637,7 +649,7 @@ void EndpointWidget::addSessionWidget(CustomWidgetEvent<SessionHandler*>* ev){
|
|||
//TODO: change mainwindow's widget name and subclass qwidget
|
||||
const QWidgetList topLevelWidgets = QApplication::topLevelWidgets();
|
||||
for (QWidget *widget : topLevelWidgets) {
|
||||
if (dynamic_cast<MainWindow*>(widget)) {
|
||||
if (qobject_cast<MainWindow*>(widget)) {
|
||||
double widthRatio = ((MainWindow*)widget)->widthRatio;
|
||||
sw->calculateSize(std::abs(this->screen()->geometry().width()) * widthRatio,
|
||||
std::abs(this->screen()->geometry().height()));
|
||||
|
|
@ -917,8 +929,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
|
|||
scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||
scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
//scrollArea->verticalScrollBar()->setSingleStep(1);
|
||||
|
||||
scrollArea->setStyleSheet("QScrollBar:vertical { width: 4px; }");
|
||||
|
||||
//custom style = no qss
|
||||
//scrollArea->setStyleSheet("QScrollBar:vertical { width: 4px; }");
|
||||
//scrollArea->setMinimumWidth(500);
|
||||
setCentralWidget(scrollArea);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue