@@ -873,6 +873,20 @@ void CMainWindow::onEditorCloseRequested()
873
873
}
874
874
875
875
876
+ // ============================================================================
877
+ void CMainWindow::onImageViewerCloseRequested ()
878
+ {
879
+ auto DockWidget = qobject_cast<ads::CDockWidget*>(sender ());
880
+ int Result = QMessageBox::question (this , " Close Image Viewer" , QString (" %1 "
881
+ " contains unsaved changes? Would you like to close it?" )
882
+ .arg (DockWidget->windowTitle ()));
883
+ if (QMessageBox::Yes == Result)
884
+ {
885
+ DockWidget->closeDockWidget ();
886
+ }
887
+ }
888
+
889
+
876
890
// ============================================================================
877
891
void CMainWindow::createTable ()
878
892
{
@@ -931,9 +945,8 @@ void CMainWindow::createImageViewer()
931
945
DockWidget->setFeature (ads::CDockWidget::DockWidgetForceCloseWithArea, true );
932
946
DockWidget->setFeature (ads::CDockWidget::CustomCloseHandling, true );
933
947
DockWidget->resize (QSize (640 , 480 ));
934
- connect (DockWidget, &ads::CDockWidget::closeRequested, [this ](){
935
- qDebug () << " ImageViewer close requested" ;
936
- });
948
+ connect (DockWidget, &ads::CDockWidget::closeRequested, this ,
949
+ &CMainWindow::onImageViewerCloseRequested);
937
950
938
951
if (a->text ().startsWith (" Floating" ))
939
952
{
0 commit comments