20 QObject::connect(
ui->AutoInstallOn, SIGNAL(pressed()),
this, SLOT(
PressedInstallOn()));
23 QObject::connect(
ui->AutoArchiveOn, SIGNAL(pressed()),
this, SLOT(
PressedArchiveOn()));
25 QObject::connect (
ui->AutoPublishOff, SIGNAL (pressed ()),
this,
28 QObject::connect (
ui->AutoPublishOn, SIGNAL (pressed ()),
this,
32 "select project_index from project where project_index != 1");
37 ui->ProjectTableWidget->setHorizontalHeaderLabels( QStringList( {
"Proj. Ident",
"Proj. Name",
"Target",
"Status",
"Proj. Contact",
"Brief Desc.",
"Dev. Family",
"Comp. Lang.",
"Assoc Group",
38 "S/W Licence",
"H/W Licence",
"Doc Licence",
"Inst",
"Arch",
"Publish"} ));
114 sort_type = QString(
" order by project_ident desc");
118 ui->ProjectTableWidget->clearContents();
119 ui->ProjectTableWidget->setEnabled(
true);
122 QSqlQuery project_query(query_string);
125 while( project_query.next())
130 read_project_info->LoadProjectInfo(project_file_info, project_query.value(0).toInt(),
ui->ProjectPrefix->currentIndex() + 1);
136 new_project_ident->setFlags(new_project_ident->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
142 new_project_name->setFlags(new_project_name->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
147 new_target_system->setFlags(new_target_system->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
151 QTableWidgetItem *new_project_contact =
new QTableWidgetItem(project_file_info->
Developer.
Name);
152 new_project_contact->setFlags(new_project_contact->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
156 QTableWidgetItem *new_project_status =
new QTableWidgetItem(project_file_info->
StatusInfo.
StatusName);
157 new_project_status->setFlags(new_project_status->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
162 new_brief_desc->setFlags(new_project_ident->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
167 new_dev_family->setFlags(new_dev_family->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
172 new_comp_family->setFlags(new_comp_family->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
176 QTableWidgetItem *new_assoc_family =
new QTableWidgetItem(project_file_info->
InAssocInfo.
ShortName);
177 new_assoc_family->setFlags(new_assoc_family->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
182 new_software_licence->setFlags(new_software_licence->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
187 new_hardware_licence->setFlags(new_hardware_licence->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
191 QTableWidgetItem *new_doc_licence =
new QTableWidgetItem(project_file_info->
DocLicence.
ShortName);
192 new_doc_licence->setFlags(new_doc_licence->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
194 QWidget *check_box_widget1 =
new QWidget();
195 QCheckBox *install_button =
new QCheckBox();
196 install_button->setText(
"");
199 QHBoxLayout *layout_check_box1 =
new QHBoxLayout( check_box_widget1 );
200 layout_check_box1->addWidget(install_button);
201 layout_check_box1->setAlignment(Qt::AlignCenter);
202 layout_check_box1->setContentsMargins(0,0,0,0);
205 QWidget *check_box_widget2 =
new QWidget();
206 QCheckBox *archive_button =
new QCheckBox();
207 archive_button->setText(
"");
210 QHBoxLayout *layout_check_box2 =
new QHBoxLayout( check_box_widget2 );
211 layout_check_box2->addWidget(archive_button);
212 layout_check_box2->setAlignment(Qt::AlignCenter);
213 layout_check_box2->setContentsMargins(0,0,0,0);
216 QWidget *check_box_widget3 =
new QWidget();
217 QCheckBox *publish_button =
new QCheckBox();
218 archive_button->setText(
"");
219 QHBoxLayout *layout_check_box3 =
new QHBoxLayout( check_box_widget3 );
220 layout_check_box3->addWidget(publish_button);
221 layout_check_box3->setAlignment(Qt::AlignCenter);
222 layout_check_box3->setContentsMargins(0,0,0,0);
228 ui->ProjectTableWidget->setEnabled(
true);
334 QString project_html_header;
335 QString project_html_line;
336 QString project_html_footer;
338 QString project_line;
339 QString project_table_html;
342 QString p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, pa, pb, pc;
345 if (QFileInfo::exists(HeaderTemplateFile) && !TableOnly)
355 project_html_header =
356 QString(
"<!doctype html><html lang=\"en-au\">") +
357 QString(
"<head><meta charset=\"utf-8\">") +
358 QString(
"<title>Brigadoon Project List</title>") +
359 QString(
"<meta name=\"author\" content=\"RiverPirate\">") +
360 QString(
"<meta name=\"robots\" content=\"index, follow\">") +
361 QString(
"<meta name=\"revisit-after\" content=\"30 days\">") +
362 QString(
"<meta name=\"generator\" content=\"ProjectManager\">") +
363 QString(
"<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">") +
367 project_html_header +=
368 QString(
"<div Class=\"Title\">") +
369 QString(
"<span style=\"color:#000000;font-family:Arial;font-size:100px;\">BRIGADOON</span>") +
371 QString(
"<DIV CLASS=\"ProjListTable\">") +
372 QString(
"<TABLE WIDTH=\"100%\" BORDER=\"1\"><TR>") +
373 QString(
"<TH>Prj. Ident.</TH><TH>Prj. Name</TH><TH>Target</TH><TH>Stat.</TH><TH>Contact</TH><TH>Brief Description</TH>") +
374 QString(
"<TH>Dev. Fam.</TH><TH>Comp. Lang.</TH><TH>Assoc. Grp.</TH>") +
375 QString(
"<TH>S/W Lic.</TH><TH>H/W Lic.</TH><TH>Doc.Lic.</TH>") +
378 LogAdd(
LOG_INFO,
MODE_FILE, QString(
"Unable to Read Project List Header Template %1, using Default Template.").arg(HeaderTemplateFile));
381 if (QFileInfo::exists(LineTemplateFile))
390 QString(
"<TD>%1</TD><TD>%2</TD><TD>%3</TD><TD>%4</TD>") +
391 QString(
"<TD>%5</TD><TD>%6</TD><TD>%7</TD><TD>%8</TD>") +
392 QString(
"<TD>%9</TD><TD>%10</TD><TD>%11</TD><TD>%12</TD>") +
394 LogAdd(
LOG_INFO,
MODE_FILE, QString(
"Unable to Read Project List Line Template %1, using Default Template.").arg(LineTemplateFile));
397 if (QFileInfo::exists(FooterTemplateFile))
404 project_html_footer = QString(
"</TABLE></DIV>");
405 if (!TableOnly) project_html_footer +=
"</BODY></HTML>";
407 LogAdd(
LOG_INFO,
MODE_FILE, QString(
"Unable to Read Project List Footer Template %1, using Default Template.").arg(FooterTemplateFile));
411 project_table_html = project_html_header;
415 QSqlQuery project_query(query_string +
" order by project_index desc");
418 while( project_query.next())
423 read_project_info->LoadProjectInfo(project_info, project_query.value(0).toInt(),
ui->ProjectPrefix->currentIndex() + 1);
431 p1 = QString(
"<A HREF=\"")+pa +
"\">" + pb +
"</A>";
446 p5 = QString(
"<A HREF=\"mailto:") + pa +
"?subject=re: " + pc +
" Project.\">" + pb +
"</A>";
462 p9 = QString(
"<A HREF=\"")+ pb + QString(
"\" target=\"_blank\">") + pa +
"</A>";
474 p10 = QString(
"<A HREF=\"")+ pb + QString(
"\" target=\"_blank\">") + pa +
"</A>";
486 p11 = QString(
"<A HREF=\"")+ pb + QString(
"\" target=\"_blank\">") + pa +
"</A>";
498 p12 = QString(
"<A HREF=\"")+ pb + QString(
"\" target=\"_blank\">") + pa +
"</A>";
505 project_line = project_html_line.arg(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12);
506 project_table_html += project_line;
509 project_table_html += project_html_footer;
514 return(project_table_html);