Ver código fonte

Fix checkable header column in server node table

Need to set the check state explicitly for header nodes
to remember selection and display correctly at startup.
Steve Pieper 15 anos atrás
pai
commit
4f0e64e58a
1 arquivos alterados com 3 adições e 0 exclusões
  1. 3 0
      Libs/DICOM/Widgets/ctkDICOMServerNodeWidget.cpp

+ 3 - 0
Libs/DICOM/Widgets/ctkDICOMServerNodeWidget.cpp

@@ -76,6 +76,7 @@ ctkDICOMServerNodeWidget::ctkDICOMServerNodeWidget(QWidget* _parent):Superclass(
   if ( settings.value("ServerNodeCount").toInt() == 0 )
   if ( settings.value("ServerNodeCount").toInt() == 0 )
   {
   {
     node["Name"] = "localhost";
     node["Name"] = "localhost";
+    node["CheckState"] = Qt::Checked;
     node["AETitle"] = "CTK_AE";
     node["AETitle"] = "CTK_AE";
     node["Address"] = "localhost";
     node["Address"] = "localhost";
     node["Port"] = "11112";
     node["Port"] = "11112";
@@ -91,6 +92,7 @@ ctkDICOMServerNodeWidget::ctkDICOMServerNodeWidget(QWidget* _parent):Superclass(
     node = settings.value(QString("ServerNodes/%1").arg(row)).toMap();
     node = settings.value(QString("ServerNodes/%1").arg(row)).toMap();
     QTableWidgetItem *newItem;
     QTableWidgetItem *newItem;
     newItem = new QTableWidgetItem( node["Name"].toString() );
     newItem = new QTableWidgetItem( node["Name"].toString() );
+    newItem->setCheckState( Qt::CheckState(node["CheckState"].toInt()) );
     d->nodeTable->setItem(row, 0, newItem);
     d->nodeTable->setItem(row, 0, newItem);
     newItem = new QTableWidgetItem( node["AETitle"].toString() );
     newItem = new QTableWidgetItem( node["AETitle"].toString() );
     d->nodeTable->setItem(row, 1, newItem);
     d->nodeTable->setItem(row, 1, newItem);
@@ -182,6 +184,7 @@ void ctkDICOMServerNodeWidget::saveSettings()
       {
       {
         node[keys.at(k)] = d->nodeTable->item(row,k)->text();
         node[keys.at(k)] = d->nodeTable->item(row,k)->text();
       }
       }
+      node["CheckState"] = d->nodeTable->item(row,0)->checkState();
       settings.setValue(QString("ServerNodes/%1").arg(row), QVariant(node));
       settings.setValue(QString("ServerNodes/%1").arg(row), QVariant(node));
     }
     }
   }
   }