Skip to content

Commit ca2c70c

Browse files
committed
scroll slider improvements
1 parent b826a59 commit ca2c70c

File tree

1 file changed

+25
-8
lines changed

1 file changed

+25
-8
lines changed

src/main.cpp

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ QMainWindow* mainWindow;
3232
QMainWindow* tool;
3333
QMainWindow* tool2;
3434

35-
QSlider *scrollSlider;
35+
QSlider *scrollHSlider;
36+
QSlider *scrollVSlider;
3637

3738
QWidget *mainWidget;
3839

@@ -68,6 +69,8 @@ class MainWindow : public QMainWindow {
6869

6970
}
7071

72+
#define SCROLLSIZE 22*scale
73+
7174
protected:
7275
void closeEvent(QCloseEvent *event){
7376
puts("Close event");
@@ -79,10 +82,16 @@ class MainWindow : public QMainWindow {
7982
mainWidget->setFixedSize(screen->size().width(), screen->size().height());
8083
drawing->setFixedSize(screen->size().width(), screen->size().height());
8184
board->setFixedSize(screen->size().width(), screen->size().height());
82-
scrollSlider->setFixedSize(event->size().width(), 22);
83-
scrollSlider->move(0, event->size().height() - 22);
84-
scrollSlider->setRange(0, screen->size().width() - event->size().width() );
85-
scrollSlider->setVisible(screen->size().width() > event->size().width());
85+
86+
scrollHSlider->setFixedSize(event->size().width() - SCROLLSIZE*2, SCROLLSIZE);
87+
scrollHSlider->move(SCROLLSIZE, event->size().height() - SCROLLSIZE);
88+
scrollHSlider->setRange(0, screen->size().width() - event->size().width() );
89+
scrollHSlider->setVisible(screen->size().width() > event->size().width());
90+
91+
scrollVSlider->setFixedSize(SCROLLSIZE, event->size().height() - SCROLLSIZE*2);
92+
scrollVSlider->move(event->size().width() - SCROLLSIZE, SCROLLSIZE);
93+
scrollVSlider->setRange(0, screen->size().height() - event->size().height() );
94+
scrollVSlider->setVisible(screen->size().height() > event->size().height());
8695

8796
printf("%d %d\n",event->size().width(), event->size().height());
8897
new_x = get_int((char*)"cur-x");
@@ -263,11 +272,19 @@ int main(int argc, char *argv[]) {
263272
"font-size: "+QString::number(18*scale)+"px;"
264273
);
265274

266-
scrollSlider = new QSlider(Qt::Horizontal, mainWindow);
267-
QObject::connect(scrollSlider, &QSlider::valueChanged, [=](int value) {
268-
mainWidget->move(-1*value, 0);
275+
scrollHSlider = new QSlider(Qt::Horizontal, mainWindow);
276+
scrollVSlider = new QSlider(Qt::Vertical, mainWindow);
277+
278+
QObject::connect(scrollHSlider, &QSlider::valueChanged, [=](int value) {
279+
mainWidget->move(-1*value, mainWidget->y());
280+
});
281+
282+
QObject::connect(scrollVSlider, &QSlider::valueChanged, [=](int value) {
283+
mainWidget->move(mainWidget->x(), value - scrollVSlider->maximum());
269284
});
270285

286+
scrollVSlider->setValue(0);
287+
scrollHSlider->setValue(0);
271288
QScreen *screen = QGuiApplication::primaryScreen();
272289
mainWindow->resize(screen->size().width(), screen->size().height());
273290
mainWidget->setFixedSize(screen->size().width(), screen->size().height());

0 commit comments

Comments
 (0)