20 QObject::connect(
ui->AutoInstallOn, SIGNAL(pressed()),
this, SLOT(
PressedInstallOn()));
23 QObject::connect(
ui->AutoArchiveOn, SIGNAL(pressed()),
this, SLOT(
PressedArchiveOn()));
25 base_project_query = QString(
"select project_index from project where project_index != 1");
30 ui->ProjectTableWidget->setHorizontalHeaderLabels( QStringList( {
"Proj. Ident",
"Proj. Name",
"Target",
"Status",
"Proj. Contact",
"Brief Desc.",
"Dev. Family",
"Comp. Lang.",
"Assoc Group",
31 "S/W Licence",
"H/W Licence",
"Doc Licence",
"Inst",
"Arch",
"Publish"} ));
95 sort_type = QString(
" order by project_ident desc");
99 ui->ProjectTableWidget->clearContents();
100 ui->ProjectTableWidget->setEnabled(
true);
103 QSqlQuery project_query(query_string);
106 while( project_query.next())
111 read_project_info->LoadProjectInfo(project_file_info, project_query.value(0).toInt(),
ui->ProjectPrefix->currentIndex() + 1);
117 new_project_ident->setFlags(new_project_ident->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
123 new_project_name->setFlags(new_project_name->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
128 new_target_system->setFlags(new_target_system->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
132 QTableWidgetItem *new_project_contact =
new QTableWidgetItem(project_file_info->
Developer.
Name);
133 new_project_contact->setFlags(new_project_contact->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
137 QTableWidgetItem *new_project_status =
new QTableWidgetItem(project_file_info->
StatusInfo.
StatusName);
138 new_project_status->setFlags(new_project_status->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
143 new_brief_desc->setFlags(new_project_ident->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
148 new_dev_family->setFlags(new_dev_family->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
153 new_comp_family->setFlags(new_comp_family->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
157 QTableWidgetItem *new_assoc_family =
new QTableWidgetItem(project_file_info->
InAssocInfo.
ShortName);
158 new_assoc_family->setFlags(new_assoc_family->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
163 new_software_licence->setFlags(new_software_licence->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
168 new_hardware_licence->setFlags(new_hardware_licence->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
172 QTableWidgetItem *new_doc_licence =
new QTableWidgetItem(project_file_info->
DocLicence.
ShortName);
173 new_doc_licence->setFlags(new_doc_licence->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsSelectable));
175 QWidget *check_box_widget1 =
new QWidget();
176 QCheckBox *install_button =
new QCheckBox();
177 install_button->setText(
"");
180 QHBoxLayout *layout_check_box1 =
new QHBoxLayout( check_box_widget1 );
181 layout_check_box1->addWidget(install_button);
182 layout_check_box1->setAlignment(Qt::AlignCenter);
183 layout_check_box1->setContentsMargins(0,0,0,0);
186 QWidget *check_box_widget2 =
new QWidget();
187 QCheckBox *archive_button =
new QCheckBox();
188 archive_button->setText(
"");
191 QHBoxLayout *layout_check_box2 =
new QHBoxLayout( check_box_widget2 );
192 layout_check_box2->addWidget(archive_button);
193 layout_check_box2->setAlignment(Qt::AlignCenter);
194 layout_check_box2->setContentsMargins(0,0,0,0);
197 QWidget *check_box_widget3 =
new QWidget();
198 QCheckBox *publish_button =
new QCheckBox();
199 archive_button->setText(
"");
200 QHBoxLayout *layout_check_box3 =
new QHBoxLayout( check_box_widget3 );
201 layout_check_box3->addWidget(publish_button);
202 layout_check_box3->setAlignment(Qt::AlignCenter);
203 layout_check_box3->setContentsMargins(0,0,0,0);
209 ui->ProjectTableWidget->setEnabled(
true);
311 QString project_html_header;
312 QString project_html_line;
313 QString project_html_footer;
315 QString project_line;
316 QString project_table_html;
319 QString p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, pa, pb, pc;
322 if (QFileInfo::exists(HeaderTemplateFile) && !TableOnly)
332 project_html_header =
333 QString(
"<!doctype html><html lang=\"en-au\">") +
334 QString(
"<head><meta charset=\"utf-8\">") +
335 QString(
"<title>Brigadoon Project List</title>") +
336 QString(
"<meta name=\"author\" content=\"RiverPirate\">") +
337 QString(
"<meta name=\"robots\" content=\"index, follow\">") +
338 QString(
"<meta name=\"revisit-after\" content=\"30 days\">") +
339 QString(
"<meta name=\"generator\" content=\"ProjectManager\">") +
340 QString(
"<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">") +
344 project_html_header +=
345 QString(
"<div Class=\"Title\">") +
346 QString(
"<span style=\"color:#000000;font-family:Arial;font-size:100px;\">BRIGADOON</span>") +
348 QString(
"<DIV CLASS=\"ProjListTable\">") +
349 QString(
"<TABLE WIDTH=\"100%\" BORDER=\"1\"><TR>") +
350 QString(
"<TH>Prj. Ident.</TH><TH>Prj. Name</TH><TH>Target</TH><TH>Stat.</TH><TH>Contact</TH><TH>Brief Description</TH>") +
351 QString(
"<TH>Dev. Fam.</TH><TH>Comp. Lang.</TH><TH>Assoc. Grp.</TH>") +
352 QString(
"<TH>S/W Lic.</TH><TH>H/W Lic.</TH><TH>Doc.Lic.</TH>") +
355 LogAdd(
LOG_INFO,
MODE_FILE, QString(
"Unable to Read Project List Header Template %1, using Default Template.").arg(HeaderTemplateFile));
358 if (QFileInfo::exists(LineTemplateFile))
367 QString(
"<TD>%1</TD><TD>%2</TD><TD>%3</TD><TD>%4</TD>") +
368 QString(
"<TD>%5</TD><TD>%6</TD><TD>%7</TD><TD>%8</TD>") +
369 QString(
"<TD>%9</TD><TD>%10</TD><TD>%11</TD><TD>%12</TD>") +
371 LogAdd(
LOG_INFO,
MODE_FILE, QString(
"Unable to Read Project List Line Template %1, using Default Template.").arg(LineTemplateFile));
374 if (QFileInfo::exists(FooterTemplateFile))
381 project_html_footer = QString(
"</TABLE></DIV>");
382 if (!TableOnly) project_html_footer +=
"</BODY></HTML>";
384 LogAdd(
LOG_INFO,
MODE_FILE, QString(
"Unable to Read Project List Footer Template %1, using Default Template.").arg(FooterTemplateFile));
388 project_table_html = project_html_header;
392 QSqlQuery project_query(query_string +
" order by project_index desc");
395 while( project_query.next())
400 read_project_info->LoadProjectInfo(project_info, project_query.value(0).toInt(),
ui->ProjectPrefix->currentIndex() + 1);
408 p1 = QString(
"<A HREF=\"")+pa +
"\">" + pb +
"</A>";
423 p5 = QString(
"<A HREF=\"mailto:") + pa +
"?subject=re: " + pc +
" Project.\">" + pb +
"</A>";
439 p9 = QString(
"<A HREF=\"")+ pb + QString(
"\" target=\"_blank\">") + pa +
"</A>";
451 p10 = QString(
"<A HREF=\"")+ pb + QString(
"\" target=\"_blank\">") + pa +
"</A>";
463 p11 = QString(
"<A HREF=\"")+ pb + QString(
"\" target=\"_blank\">") + pa +
"</A>";
475 p12 = QString(
"<A HREF=\"")+ pb + QString(
"\" target=\"_blank\">") + pa +
"</A>";
482 project_line = project_html_line.arg(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12);
483 project_table_html += project_line;
486 project_table_html += project_html_footer;
491 return(project_table_html);