TableWidget.cpp
Go to the documentation of this file.
1 #include "../ApplicationController.h"
2 #include "../events/TableEvents.h"
3 
4 #include "ui_TableWidgetForm.h"
5 #include "TableWidget.h"
6 
7 // Qt
8 #include <QSettings>
9 #include <QColor>
10 #include <QColorDialog>
11 
12 QString GetRGBString(QColor color)
13 {
14  QString str("rgb(");
15  str += QString::number(color.red());
16  str += ", " + QString::number(color.green());
17  str += ", " + QString::number(color.blue());
18  str += ")";
19 
20  return str;
21 }
22 
23 QString GetStyleSheetFromColors(QColor primaryColor, QColor secondaryColor)
24 {
25  QString sty("alternate-background-color: ");
26  sty += GetRGBString(secondaryColor);
27  sty += ";background-color: " + GetRGBString(primaryColor) + ";";
28 
29  return sty;
30 }
31 
33  : AbstractSettingWidget(parent),
34  m_ui(new Ui::TableWidgetForm)
35 {
36  m_ui->setupUi(this);
37 
38  m_resumeText = tr("");
39 
40  m_primaryColor = Qt::white;
41  m_secondaryColor = Qt::white;
42 
43  QSettings sett(QSettings::IniFormat, QSettings::UserScope, qApp->organizationName(), qApp->applicationName());
44  bool isChecked = sett.value("table/tableAlternateColors").toBool();
45  QColor pColor;
46  pColor.setNamedColor(sett.value("table/primaryColor").toString());
47  QColor sColor;
48  sColor.setNamedColor(sett.value("table/secondaryColor").toString());
49 
50  m_ui->m_alternateRowColorsGroupBox->setChecked(isChecked);
51 
52  m_ui->m_previewListWidget->setAlternatingRowColors(isChecked);
53 
54  if(pColor.isValid())
55  m_primaryColor = pColor;
56  if(sColor.isValid())
57  m_secondaryColor = sColor;
58 
59  if(isChecked)
60  m_ui->m_previewListWidget->setStyleSheet(GetStyleSheetFromColors(m_primaryColor, m_secondaryColor));
61 
62  connect(m_ui->m_primaryPushButton, SIGNAL(clicked()), SLOT(onPrimaryPushButtonClicked()));
63  connect(m_ui->m_secondaryPushButton, SIGNAL(clicked()), SLOT(onSecondaryPushButtonClicked()));
64  connect(m_ui->m_alternateRowColorsGroupBox, SIGNAL(clicked()), SLOT(onAlternateRowColorsGroupBoxClicked()));
65 }
66 
68 {
69  delete m_ui;
70 }
71 
72 void te::qt::af::TableWidget::getHelpInformations(QString& ns, QString& helpFile)
73 {
74  ns = "dpi.inpe.br.apf";
75  helpFile = "apf/settings/table/TableConfig.html";
76 }
77 
79 {
80  saveChanges();
81 }
82 
84 {
85  bool isChecked = m_ui->m_alternateRowColorsGroupBox->isChecked();
86 
87  QSettings sett(QSettings::IniFormat, QSettings::UserScope, qApp->organizationName(), qApp->applicationName());
88  sett.setValue("table/tableAlternateColors", isChecked);
89  sett.setValue("table/primaryColor", m_primaryColor.name());
90  sett.setValue("table/secondaryColor", m_secondaryColor.name());
91 
92  te::qt::af::evt::TableAlternatingColorsChanged tableAlternatingColorsChanged(isChecked, m_primaryColor, m_secondaryColor);
93 
94  m_app->trigger(&tableAlternatingColorsChanged);
95 
97 }
98 
100 {
101 
102 }
103 
105 {
106  m_ui->m_previewListWidget->setAlternatingRowColors(m_ui->m_alternateRowColorsGroupBox->isChecked());
107 
108  if(m_ui->m_alternateRowColorsGroupBox->isChecked())
109  {
110  m_primaryColor = Qt::white;
111  m_secondaryColor.setNamedColor("#ebebeb");
112 
113  m_ui->m_previewListWidget->setStyleSheet(GetStyleSheetFromColors(m_primaryColor, m_secondaryColor));
114  }
115 
117 }
118 
120 {
121  m_primaryColor = QColorDialog::getColor(m_primaryColor, this);
122 
123  m_ui->m_previewListWidget->setStyleSheet(GetStyleSheetFromColors(m_primaryColor, m_secondaryColor));
125 }
126 
128 {
129  m_secondaryColor = QColorDialog::getColor(m_secondaryColor, this);
130 
131  m_ui->m_previewListWidget->setStyleSheet(GetStyleSheetFromColors(m_primaryColor, m_secondaryColor));
132 
134 }
QString GetRGBString(QColor color)
Definition: TableWidget.cpp:12
te::qt::af::ApplicationController * m_app
Ui::TableWidgetForm * m_ui
Definition: TableWidget.h:78
This event signals that table has alternating row colors.
Definition: TableEvents.h:47
A frame for setting Table options.
virtual void getHelpInformations(QString &ns, QString &helpFile)
Definition: TableWidget.cpp:72
TEQTAFEXPORT QString GetStyleSheetFromColors(QColor primaryColor, QColor secondaryColor)
A frame for setting Table options.
void onAlternateRowColorsGroupBoxClicked()
virtual void resetState()
Definition: TableWidget.cpp:99
virtual void saveChanges()
Definition: TableWidget.cpp:83
QString GetStyleSheetFromColors(QColor primaryColor, QColor secondaryColor)
Definition: TableWidget.cpp:23
void trigger(te::qt::af::evt::Event *)
TableWidget(QWidget *parent=0)
Definition: TableWidget.cpp:32
virtual void changeApplyButtonState(const bool &state)
Indicates that there&#39;s unsaved information. Use this method after each change in informations of the ...