@ -30,8 +30,8 @@ ChartsWidget::ChartsWidget(QWidget *parent) : QWidget(parent) {
title_label - > setContentsMargins ( 0 , 0 , 12 , 0 ) ;
columns_cb = new QComboBox ( this ) ;
columns_cb - > addItems ( { " 1 " , " 2 " , " 3 " , " 4 " } ) ;
toolbar - > addWidget ( new QLabel ( tr ( " Columns: " ) ) ) ;
toolbar - > addWidget ( columns_cb ) ;
columns_lb_action = toolbar - > addWidget ( new QLabel ( tr ( " Columns: " ) ) ) ;
columns_cb_action = toolbar - > addWidget ( columns_cb ) ;
QLabel * stretch_label = new QLabel ( this ) ;
stretch_label - > setSizePolicy ( QSizePolicy : : Expanding , QSizePolicy : : Preferred ) ;
@ -46,8 +46,7 @@ ChartsWidget::ChartsWidget(QWidget *parent) : QWidget(parent) {
range_slider - > setPageStep ( 60 ) ; // 1 min
toolbar - > addWidget ( range_slider ) ;
toolbar - > addWidget ( zoom_range_lb = new QLabel ( ) ) ;
reset_zoom_btn = toolbar - > addAction ( bootstrapPixmap ( " arrow-counterclockwise " ) , " " ) ;
reset_zoom_btn = toolbar - > addAction ( bootstrapPixmap ( " zoom-out " ) , " " ) ;
reset_zoom_btn - > setToolTip ( tr ( " Reset zoom (drag on chart to zoom X-Axis) " ) ) ;
remove_all_btn = toolbar - > addAction ( bootstrapPixmap ( " x " ) , " " ) ;
remove_all_btn - > setToolTip ( tr ( " Remove all charts " ) ) ;
@ -55,10 +54,13 @@ ChartsWidget::ChartsWidget(QWidget *parent) : QWidget(parent) {
main_layout - > addWidget ( toolbar ) ;
// charts
charts_layout = new QGridLayout ( ) ;
charts_layout - > setSpacing ( 10 ) ;
QWidget * charts_container = new QWidget ( this ) ;
QVBoxLayout * charts_main_layout = new QVBoxLayout ( charts_container ) ;
charts_main_layout - > setContentsMargins ( 0 , 0 , 0 , 0 ) ;
charts_main_layout - > addLayout ( charts_layout = new QGridLayout ) ;
charts_main_layout - > addLayout ( charts_layout ) ;
charts_main_layout - > addStretch ( 0 ) ;
QScrollArea * charts_scroll = new QScrollArea ( this ) ;
@ -167,7 +169,6 @@ void ChartsWidget::setMaxChartRange(int value) {
void ChartsWidget : : updateToolBar ( ) {
range_lb - > setText ( QString ( " %1:%2 " ) . arg ( max_chart_range / 60 , 2 , 10 , QLatin1Char ( ' 0 ' ) ) . arg ( max_chart_range % 60 , 2 , 10 , QLatin1Char ( ' 0 ' ) ) ) ;
zoom_range_lb - > setText ( is_zoomed ? tr ( " Zooming: %1 - %2 " ) . arg ( zoomed_range . first , 0 , ' f ' , 2 ) . arg ( zoomed_range . second , 0 , ' f ' , 2 ) : " " ) ;
title_label - > setText ( tr ( " Charts: %1 " ) . arg ( charts . size ( ) ) ) ;
dock_btn - > setIcon ( bootstrapPixmap ( docking ? " arrow-up-right " : " arrow-down-left " ) ) ;
dock_btn - > setToolTip ( docking ? tr ( " Undock charts " ) : tr ( " Dock charts " ) ) ;
@ -230,8 +231,13 @@ void ChartsWidget::setColumnCount(int n) {
void ChartsWidget : : updateLayout ( ) {
int n = column_count ;
for ( ; n > 1 ; - - n ) {
if ( ( n * ( CHART_MIN_WIDTH + charts_layout - > spacing ( ) ) ) < rect ( ) . width ( ) ) break ;
if ( ( n * CHART_MIN_WIDTH + ( n - 1 ) * charts_layout - > spacing ( ) ) < charts_layout - > geometry ( ) . width ( ) ) break ;
}
bool show_column_cb = n > 1 ;
columns_lb_action - > setVisible ( show_column_cb ) ;
columns_cb_action - > setVisible ( show_column_cb ) ;
for ( int i = 0 ; i < charts . size ( ) ; + + i ) {
charts_layout - > addWidget ( charts [ charts . size ( ) - i - 1 ] , i / n , i % n ) ;
}