datetimehelp.cpp
Go to the documentation of this file.
1 #include "datetimehelp.h"
2 #include "ui_datetimehelp.h"
3 
4 #include <QScrollBar>
5 
6 //Source: https://stackoverflow.com/a/42458736
7 void verticalResizeTableViewToContents(QTableView *tableView)
8 {
9  int count=tableView->verticalHeader()->count();
10  int scrollBarHeight = 0;
11  if(tableView->horizontalScrollBar()->isVisible())
12  {
13  scrollBarHeight=tableView->horizontalScrollBar()->height();
14  }
15  int horizontalHeaderHeight=tableView->horizontalHeader()->height();
16  int rowTotalHeight=0;
17  for (int i = 0; i < count; ++i) {
18  // 2018-03 edit: only account for row if it is visible
19  if (!tableView->verticalHeader()->isSectionHidden(i)) {
20  rowTotalHeight+=tableView->verticalHeader()->sectionSize(i);
21  }
22  }
23  tableView->setMinimumHeight(horizontalHeaderHeight+rowTotalHeight+scrollBarHeight);
24 }
25 
26 DateTimeHelp::DateTimeHelp(QDialog *parent) :
27  QDialog(parent), ui(new Ui::DateTimeHelp), _parent(parent)
28 {
29  ui->setupUi(this);
30 
31  verticalResizeTableViewToContents(ui->dateFormatTable);
32  verticalResizeTableViewToContents(ui->timeFormatTable);
33 
35 
36  connect(ui->exampleDateTimeDateTimeEdit,&QDateTimeEdit::dateTimeChanged,this, [this](){
37  refreshExample();
38  });
39 
40  connect(ui->exampleFormatStringLineEdit,&QLineEdit::textChanged,this, [this](){
41  refreshExample();
42  });
43 
44  connect(_parent,&QDialog::finished,this,[this](){
45  if(ui->autoCloseCheckBox->isChecked())
46  {
47  accept();
48  }
49 
50  });
51 
52 }
53 
55 {
56  delete ui;
57 }
58 
60 {
61  auto dateTime = ui->exampleDateTimeDateTimeEdit->dateTime();
62  auto formatString = ui->exampleFormatStringLineEdit->text();
63  ui->resultLineEdit->setText(dateTime.toString(formatString));
64 }
void verticalResizeTableViewToContents(QTableView *tableView)
Definition: datetimehelp.cpp:7
QDialog * _parent
Definition: datetimehelp.h:23
constexpr auto count() -> size_t
Definition: core.h:1050
void refreshExample()
DateTimeHelp(QDialog *parent=nullptr)
Ui::DateTimeHelp * ui
Definition: datetimehelp.h:21


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Jun 19 2023 03:01:02