| 2355 | } |
| 2356 | |
| 2357 | void ImageViewer::updateImageInfoWindow() { |
| 2358 | if (mImageInfoWindow) { |
| 2359 | const auto pos = mImageInfoWindow->position(); |
| 2360 | const auto size = mImageInfoWindow->size(); |
| 2361 | const string tabName = string{mImageInfoWindow->currentTabName()}; |
| 2362 | const float scroll = mImageInfoWindow->currentScroll(); |
| 2363 | mImageInfoWindow->dispose(); |
| 2364 | |
| 2365 | if (mCurrentImage) { |
| 2366 | mImageInfoWindow = new ImageInfoWindow{this, mCurrentImage, [this] { toggleImageInfoWindow(); }}; |
| 2367 | mImageInfoWindow->set_position(pos); |
| 2368 | mImageInfoWindow->set_size(size); |
| 2369 | if (mImageInfoWindow->selectTabWithName(tabName)) { |
| 2370 | mImageInfoWindow->setScroll(scroll); |
| 2371 | } |
| 2372 | |
| 2373 | mImageInfoWindow->request_focus(); |
| 2374 | |
| 2375 | mImageInfoButton->set_pushed(true); |
| 2376 | } else { |
| 2377 | mImageInfoWindow = nullptr; |
| 2378 | mImageInfoButton->set_pushed(false); |
| 2379 | } |
| 2380 | } |
| 2381 | } |
| 2382 | |
| 2383 | void ImageViewer::openImageDialog() { |
| 2384 | if (mFileDialogThread) { |
nothing calls this directly
no test coverage detected