UltraScan III
us_advanced.cpp
Go to the documentation of this file.
1 #include "us_advanced.h"
3 #include "us_gui_settings.h"
4 #include "us_settings.h"
5 #include "us_help.h"
6 
7 US_Advanced::US_Advanced( QWidget* w, Qt::WindowFlags flags )
8  : US_Widgets( true, w, flags )
9 {
10  // Frame layout
11  setPalette( US_GuiSettings::frameColor() );
12 
13  setWindowTitle( "Advanced Settings" );
14  setAttribute( Qt::WA_DeleteOnClose );
15 
16  // Set up the database list window
17  QLabel* banner = us_banner( tr( "Debug Text List" ) );
18 
19  QBoxLayout* topbox = new QVBoxLayout( this );
20  topbox->addWidget( banner );
21  topbox->setSpacing( 2 );
22 
23  te_dbgtext = new QTextEdit();
24  te_dbgtext->setPalette( US_GuiSettings::editColor() );
25  te_dbgtext->setFont( QFont( US_GuiSettings::fontFamily(),
27  us_setReadOnly( te_dbgtext, false );
28 
29  topbox->addWidget( te_dbgtext );
30 
31  // Detail info
32  QLabel* info = us_banner( tr( "Advanced Counters" ) );
33  topbox->addWidget( info );
34 
35  int row = 0;
36  QGridLayout* details = new QGridLayout();
37 
38  // Row 1
39  QLabel* lb_debug = us_label( "Debug Level:" );
40  details->addWidget( lb_debug, row, 0, 1, 3 );
41 
42  sb_debug = new QSpinBox;
43  sb_debug->setRange( 0, 10 );
44  sb_debug->setValue( 0 );
45  sb_debug->setPalette( US_GuiSettings::editColor() );
46  sb_debug->setFont( QFont( US_GuiSettings::fontFamily(),
48  details->addWidget( sb_debug, row++, 3, 1, 1 );
49 
50  // Row 2
51  QLabel* lb_advanced = us_label( "Advanced Level:" );
52  details->addWidget( lb_advanced, row, 0, 1, 3 );
53 
54  sb_advanced = new QSpinBox;
55  sb_advanced->setRange( 0, 10 );
56  sb_advanced->setValue( 0 );
57  sb_advanced->setPalette( US_GuiSettings::editColor() );
58  sb_advanced->setFont( QFont( US_GuiSettings::fontFamily(),
60  details->addWidget( sb_advanced, row++, 3, 1, 1 );
61 
62  // Row 3
63  QLabel* lb_threads = us_label( "Number of Threads:" );
64  details->addWidget( lb_threads, row, 0, 1, 3 );
65 
66  sb_threads = new QSpinBox;
67  sb_threads->setRange( 1, 10 );
68  sb_threads->setValue( 1 );
69  sb_threads->setPalette( US_GuiSettings::editColor() );
70  sb_threads->setFont( QFont( US_GuiSettings::fontFamily(),
72  details->addWidget( sb_threads, row++, 3, 1, 1 );
73 
74  topbox->addLayout( details );
75 
76  //Pushbuttons
77 
78  row = 0;
79  QGridLayout* buttons = new QGridLayout();
80 
81  pb_reset = us_pushbutton( tr( "Reset to Last Saved" ) );
82  connect( pb_reset, SIGNAL( clicked() ), this, SLOT( reset() ) );
83  buttons->addWidget( pb_reset, row++, 0, 1, 3 );
84 
85  pb_save = us_pushbutton( tr( "Save" ) );
86  connect( pb_save, SIGNAL( clicked() ), this, SLOT( save() ) );
87  buttons->addWidget( pb_save, row, 0, 1, 1 );
88 
89  pb_help = us_pushbutton( tr( "Help" ) );
90  connect( pb_help, SIGNAL( clicked() ), this, SLOT( help() ) );
91  buttons->addWidget( pb_help, row, 1, 1, 1 );
92 
93  pb_close = us_pushbutton( tr( "Close" ) );
94  connect( pb_close, SIGNAL( clicked() ), this, SLOT( close() ) );
95  buttons->addWidget( pb_close, row++, 2, 1, 1 );
96 
97  topbox->addLayout( buttons );
98 
99  reset();
100 }
101 
102 // set values as they were at last save
104 {
105  QStringList dbg_text = US_Settings::debug_text();
106  int dbg_level = US_Settings::us_debug();
107  int adv_level = US_Settings::advanced_level();
108  int threads = US_Settings::threads();
109 
110  QString dbg_str = "";
111 
112  if ( dbg_text.size() > 0 )
113  {
114 
115  for ( int ii = 0; ii < dbg_text.size() - 1; ii++ )
116  dbg_str += dbg_text.at( ii ) + "\n";
117 
118  dbg_str += dbg_text.last();
119  }
120 
121  te_dbgtext ->setPlainText( dbg_str );
122 
123  sb_debug ->setValue( dbg_level );
124  sb_advanced->setValue( adv_level );
125  sb_threads ->setValue( threads );
126 }
127 
128 // save the values from the current GUI elements
130 {
131  QStringList dbg_text = te_dbgtext->toPlainText().split( "\n" );
132 
133  for ( int ii = 0; ii < dbg_text.size(); ii++ )
134  {
135  dbg_text.replace( ii, dbg_text.at( ii ).simplified() );
136  }
137 
138 
139  US_Settings::set_debug_text( dbg_text );
140  US_Settings::set_us_debug( sb_debug ->value() );
143 
144  QMessageBox::information( this,
145  tr( "Settings Saved" ),
146  tr( "The settings have been saved." ) );
147 }
148 
149 void US_Advanced::help( void )
150 {
151  US_Help* showhelp = new US_Help(this);
152  showhelp->show_help( "advanced_config.html" );
153 }
154