Переглянути джерело

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 14 роки тому
батько
коміт
4f0e64e58a
1 змінених файлів з 3 додано та 0 видалено
  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));
     }
     }
   }
   }