qpidctrl  0.7.1
Public Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
QPidSettingsDialog Class Reference

#include <qpidsettingsdialog.h>

Inheritance diagram for QPidSettingsDialog:
Inheritance graph

Public Member Functions

 QPidSettingsDialog (QPidControllerPtr ctl, QWidget *parent=0)
 
 ~QPidSettingsDialog ()
 
void accept ()
 

Private Slots

void chooseLogFile ()
 
void onDebugValueChanged (int dbg)
 
void onDebugWidgetChanged ()
 
void onButtonClicked (QAbstractButton *b)
 

Private Member Functions

void setupDebugWidgets (int dbg)
 
void writeDebugWidgets (int dbg)
 
int readDebugWidgets ()
 
void applyChanges ()
 

Private Attributes

Ui::QPidSettingsDialog * ui
 
QPidControllerPtr m_Controller
 
QVector< QCheckBox * > m_DebugWidgetList
 

Detailed Description

Definition at line 13 of file qpidsettingsdialog.h.

Constructor & Destructor Documentation

QPidSettingsDialog::QPidSettingsDialog ( QPidControllerPtr  ctl,
QWidget *  parent = 0 
)
explicit

Definition at line 9 of file qpidsettingsdialog.cpp.

References chooseLogFile(), m_Controller, onButtonClicked(), setupDebugWidgets(), and ui.

9  :
10  QDialog(parent),
11  ui(new Ui::QPidSettingsDialog),
12  m_Controller(ctl)
13 {
14  ui->setupUi(this);
15 
16  ui->m_GraphLength->setValue(m_Controller->get_GraphLength());
17  ui->m_GraphInterval->setValue(m_Controller->get_GraphInterval());
18 
19  QPidServerPtr srv(m_Controller->server());
20 
21  if (srv) {
22  ui->m_SocketServerPort->setValue(srv->get_PidServerPort());
23  }
24 
25  QPidLoggerPtr logger(m_Controller->logger());
26 
27  if (logger) {
28  ui->m_LogFileEnabled->setChecked(logger->get_Enabled());
29  ui->m_LogFileName->setText(logger->get_FileName());
30  ui->m_LogFileInterval->setValue(logger->get_UpdateInterval());
31  ui->m_LogFileScanSize->setValue(logger->get_PointLimit());
32  connect(ui->m_ChooseLogFile, SIGNAL(clicked()), this, SLOT(chooseLogFile()));
33  }
34 
35  connect(ui->m_ButtonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(onButtonClicked(QAbstractButton*)));
36 
37  setupDebugWidgets(m_Controller->get_Debug());
38 }
Ui::QPidSettingsDialog * ui
QSharedPointer< QPidLogger > QPidLoggerPtr
Definition: qpidlogger-ptr.h:6
void onButtonClicked(QAbstractButton *b)
void setupDebugWidgets(int dbg)
QPidControllerPtr m_Controller
QSharedPointer< QPidServer > QPidServerPtr
Definition: qpidserver-ptr.h:6
QPidSettingsDialog::~QPidSettingsDialog ( )

Definition at line 40 of file qpidsettingsdialog.cpp.

References ui.

41 {
42  delete ui;
43 }
Ui::QPidSettingsDialog * ui

Member Function Documentation

void QPidSettingsDialog::accept ( )

Definition at line 90 of file qpidsettingsdialog.cpp.

References applyChanges().

91 {
92  applyChanges();
93 
94  close();
95 }
void QPidSettingsDialog::applyChanges ( )
private

Definition at line 61 of file qpidsettingsdialog.cpp.

References m_Controller, readDebugWidgets(), and ui.

Referenced by accept(), and onButtonClicked().

62 {
63  if (qcepDebug(DEBUG_PREFS)) {
64  m_Controller->printMessage("QPidSettingsDialog::applyChanges");
65  }
66 
67  int debugLevel = readDebugWidgets();
68 
69  m_Controller -> set_GraphLength(ui->m_GraphLength->value());
70  m_Controller -> set_GraphInterval(ui->m_GraphInterval->value());
71 
72  QPidServerPtr srv(m_Controller->server());
73 
74  if (srv) {
75  srv->set_PidServerPort(ui->m_SocketServerPort->value());
76  }
77 
78  m_Controller -> set_Debug(debugLevel);
79 
80  QPidLoggerPtr logger(m_Controller->logger());
81 
82  if (logger) {
83  logger->set_Enabled(ui->m_LogFileEnabled->isChecked());
84  logger->set_FileName(ui->m_LogFileName->text());
85  logger->set_UpdateInterval(ui->m_LogFileInterval->value());
86  logger->set_PointLimit(ui->m_LogFileScanSize->value());
87  }
88 }
Ui::QPidSettingsDialog * ui
QSharedPointer< QPidLogger > QPidLoggerPtr
Definition: qpidlogger-ptr.h:6
QPidControllerPtr m_Controller
QSharedPointer< QPidServer > QPidServerPtr
Definition: qpidserver-ptr.h:6
void QPidSettingsDialog::chooseLogFile ( )
privateslot

Definition at line 52 of file qpidsettingsdialog.cpp.

References ui.

Referenced by QPidSettingsDialog().

53 {
54  QString filePath = QFileDialog::getSaveFileName(this, "Save Log File as...", ui->m_LogFileName->text(), "Log File (*.log);; Any file (* *.*)");
55 
56  if (filePath != "") {
57  ui->m_LogFileName->setText(filePath);
58  }
59 }
Ui::QPidSettingsDialog * ui
void QPidSettingsDialog::onButtonClicked ( QAbstractButton *  b)
privateslot

Definition at line 45 of file qpidsettingsdialog.cpp.

References applyChanges(), and ui.

Referenced by QPidSettingsDialog().

46 {
47  if (ui->m_ButtonBox->buttonRole(b) == QDialogButtonBox::ApplyRole) {
48  applyChanges();
49  }
50 }
Ui::QPidSettingsDialog * ui
void QPidSettingsDialog::onDebugValueChanged ( int  dbg)
privateslot

Definition at line 166 of file qpidsettingsdialog.cpp.

References readDebugWidgets(), and writeDebugWidgets().

Referenced by setupDebugWidgets().

167 {
168  if (readDebugWidgets() != dbg) {
169  writeDebugWidgets(dbg);
170  }
171 }
void writeDebugWidgets(int dbg)
void QPidSettingsDialog::onDebugWidgetChanged ( )
privateslot

Definition at line 173 of file qpidsettingsdialog.cpp.

References readDebugWidgets(), and ui.

Referenced by setupDebugWidgets().

174 {
175  if (readDebugWidgets() != ui->m_DebugLevel->value()) {
176  ui->m_DebugLevel->setValue(readDebugWidgets());
177  }
178 }
Ui::QPidSettingsDialog * ui
int QPidSettingsDialog::readDebugWidgets ( )
private

Definition at line 149 of file qpidsettingsdialog.cpp.

References m_DebugWidgetList.

Referenced by applyChanges(), onDebugValueChanged(), and onDebugWidgetChanged().

150 {
151  int mask = 1;
152  int newDbg = 0;
153  int ndebug = m_DebugWidgetList.count();
154 
155  for (int i=0; i<ndebug; i++) {
156  if (m_DebugWidgetList[i]->isChecked()) {
157  newDbg |= mask;
158  }
159 
160  mask <<= 1;
161  }
162 
163  return newDbg;
164 }
QVector< QCheckBox * > m_DebugWidgetList
void QPidSettingsDialog::setupDebugWidgets ( int  dbg)
private

Definition at line 97 of file qpidsettingsdialog.cpp.

References m_Controller, m_DebugWidgetList, onDebugValueChanged(), onDebugWidgetChanged(), and ui.

Referenced by QPidSettingsDialog().

98 {
99  ui->m_DebugLevel->setValue(dbg);
100 
101  if (g_DebugLevel == NULL) {
102  m_Controller->printMessage("g_DebugLevel == NULL in QxrdGlobalPreferencesDialog::setupDebugWidgets");
103  } else {
104  QGridLayout *grid = new QGridLayout(ui->m_DebugWidgets);
105 
106  for (int mask=1; mask; mask <<= 1) {
107  QString msg = g_DebugLevel->message(mask);
108 
109  if (msg.length() > 0) {
110  QCheckBox *cb = new QCheckBox(msg);
111  cb->setChecked(dbg & mask);
112 
113  m_DebugWidgetList.append(cb);
114 
115  connect(cb, SIGNAL(toggled(bool)), this, SLOT(onDebugWidgetChanged()));
116  } else {
117  break;
118  }
119  }
120 
121  int ndebug = m_DebugWidgetList.count();
122  int ncol = ndebug - ndebug/2;
123 
124  for (int i=0; i<ndebug; i++) {
125  QCheckBox *cb = m_DebugWidgetList[i];
126 
127  if (i < ncol) {
128  grid->addWidget(cb, i, 0);
129  } else {
130  grid->addWidget(cb, i - ncol, 1);
131  }
132  }
133  }
134 
135  connect(ui->m_DebugLevel, SIGNAL(valueChanged(int)), this, SLOT(onDebugValueChanged(int)));
136 }
Ui::QPidSettingsDialog * ui
void onDebugValueChanged(int dbg)
QVector< QCheckBox * > m_DebugWidgetList
QPidControllerPtr m_Controller
void QPidSettingsDialog::writeDebugWidgets ( int  dbg)
private

Definition at line 138 of file qpidsettingsdialog.cpp.

References m_DebugWidgetList.

Referenced by onDebugValueChanged().

139 {
140  for (int mask=1, i=0; mask; mask <<= 1, i++) {
141  QCheckBox *cb = m_DebugWidgetList.value(i);
142 
143  if (cb) {
144  cb -> setChecked(dbg & mask);
145  }
146  }
147 }
QVector< QCheckBox * > m_DebugWidgetList

Member Data Documentation

QPidControllerPtr QPidSettingsDialog::m_Controller
private

Definition at line 37 of file qpidsettingsdialog.h.

Referenced by applyChanges(), QPidSettingsDialog(), and setupDebugWidgets().

QVector<QCheckBox*> QPidSettingsDialog::m_DebugWidgetList
private

Definition at line 38 of file qpidsettingsdialog.h.

Referenced by readDebugWidgets(), setupDebugWidgets(), and writeDebugWidgets().

Ui::QPidSettingsDialog* QPidSettingsDialog::ui
private

The documentation for this class was generated from the following files: