Skip to content

Commit c52a7b1

Browse files
committed
Fix init autoscroll disabled in linux.
1 parent 6029c22 commit c52a7b1

2 files changed

Lines changed: 17 additions & 22 deletions

File tree

SUSTerm/mainwindow.cpp

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
6363
connect(ui->actionAbout, SIGNAL(triggered()), this, SLOT(MenuBarAboutClick()));
6464

6565
// Connect TextBrowsers Scrolls (scroll one of them move the other)
66-
static int current_slider_pos_v = 0;
67-
static int current_slider_pos_h = 0;
66+
current_slider_pos_v = 0;
67+
current_slider_pos_h = 0;
6868
QScrollBar* scroll_ascii_v = ui->textBrowser_serial_0->verticalScrollBar();
6969
QScrollBar* scroll_hex_v = ui->textBrowser_serial_1->verticalScrollBar();
7070
QScrollBar* scroll_ascii_h = ui->textBrowser_serial_0->horizontalScrollBar();
@@ -74,18 +74,22 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
7474
{
7575
if(scroll_ascii_slider_pos_v != current_slider_pos_v)
7676
{
77-
// Disable autoscroll checkbox if move out of bottom
78-
if(scroll_ascii_slider_pos_v < current_slider_pos_v)
77+
// Handle autoscroll enable/disable just for more than 100 lines
78+
if(scroll_ascii_slider_pos_v > 100)
7979
{
80-
if(ui->checkBox_autoScroll->isChecked())
81-
ui->checkBox_autoScroll->setChecked(false);
82-
}
80+
// Disable autoscroll checkbox if move out of bottom
81+
if(scroll_ascii_slider_pos_v < current_slider_pos_v)
82+
{
83+
if(ui->checkBox_autoScroll->isChecked())
84+
ui->checkBox_autoScroll->setChecked(false);
85+
}
8386

84-
// Enable autoscroll checkbox if move to bottom
85-
if(scroll_ascii_slider_pos_v >= scroll_ascii_v->maximum())
86-
{
87-
if(!ui->checkBox_autoScroll->isChecked())
88-
ui->checkBox_autoScroll->setChecked(true);
87+
// Enable autoscroll checkbox if move to bottom
88+
if(scroll_ascii_slider_pos_v >= scroll_ascii_v->maximum())
89+
{
90+
if(!ui->checkBox_autoScroll->isChecked())
91+
ui->checkBox_autoScroll->setChecked(true);
92+
}
8993
}
9094

9195
scroll_hex_v->setValue(scroll_ascii_slider_pos_v);
@@ -340,16 +344,6 @@ void MainWindow::CBoxEOLChanged(void)
340344
void MainWindow::CheckBoxAutoScrollToggled(void)
341345
{
342346
debug_print("Auto-Scroll CheckBox changed.");
343-
344-
QScrollBar *vertical_bar_ascii = ui->textBrowser_serial_0->verticalScrollBar();
345-
QScrollBar *horizontal_bar_ascii = ui->textBrowser_serial_0->horizontalScrollBar();
346-
QScrollBar *vertical_bar_hex = ui->textBrowser_serial_1->verticalScrollBar();
347-
QScrollBar *horizontal_bar_hex = ui->textBrowser_serial_1->horizontalScrollBar();
348-
349-
vertical_bar_ascii->setValue(vertical_bar_ascii->maximum());
350-
vertical_bar_hex->setValue(vertical_bar_hex->maximum());
351-
horizontal_bar_ascii->setValue(horizontal_bar_ascii->minimum());
352-
horizontal_bar_hex->setValue(horizontal_bar_hex->minimum());
353347
}
354348

355349
/**************************************************************************************************/

SUSTerm/mainwindow.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ class MainWindow : public QMainWindow
4343
bool timestamp_on;
4444
bool timestamp_ms;
4545
terminal_modes terminal_mode;
46+
int current_slider_pos_v, current_slider_pos_h;
4647

4748
void SerialPortsChecks_timer_init(void);
4849
void OpenPort(void);

0 commit comments

Comments
 (0)