All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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  te::qt::af::ApplicationController::getInstance().broadcast(&tableAlternatingColorsChanged);
94 
95  changeApplyButtonState(false);
96 }
97 
99 {
100 
101 }
102 
104 {
105  m_ui->m_previewListWidget->setAlternatingRowColors(m_ui->m_alternateRowColorsGroupBox->isChecked());
106 
107  if(m_ui->m_alternateRowColorsGroupBox->isChecked())
108  {
109  m_primaryColor = Qt::white;
110  m_secondaryColor.setNamedColor("#ebebeb");
111 
112  m_ui->m_previewListWidget->setStyleSheet(GetStyleSheetFromColors(m_primaryColor, m_secondaryColor));
113  }
114 
115  changeApplyButtonState(true);
116 }
117 
119 {
120  m_primaryColor = QColorDialog::getColor(m_primaryColor, this);
121 
122  m_ui->m_previewListWidget->setStyleSheet(GetStyleSheetFromColors(m_primaryColor, m_secondaryColor));
123  changeApplyButtonState(true);
124 }
125 
127 {
128  m_secondaryColor = QColorDialog::getColor(m_secondaryColor, this);
129 
130  m_ui->m_previewListWidget->setStyleSheet(GetStyleSheetFromColors(m_primaryColor, m_secondaryColor));
131 
132  changeApplyButtonState(true);
133 }
QString GetRGBString(QColor color)
Definition: TableWidget.cpp:12
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
static ApplicationController & getInstance()
It returns a reference to the singleton instance.
TEQTAFEXPORT QString GetStyleSheetFromColors(QColor primaryColor, QColor secondaryColor)
Definition: Utils.cpp:727
A frame for setting Table options.
void onAlternateRowColorsGroupBoxClicked()
virtual void resetState()
Definition: TableWidget.cpp:98
virtual void saveChanges()
Definition: TableWidget.cpp:83
void broadcast(te::qt::af::evt::Event *evt)
Send events in broadcast for all registered components.
QString GetStyleSheetFromColors(QColor primaryColor, QColor secondaryColor)
Definition: TableWidget.cpp:23
TableWidget(QWidget *parent=0)
Definition: TableWidget.cpp:32