Skip to content

Commit 44eb11d

Browse files
authored
Merge pull request #1666 from SCIInstitute/guiHidpi
Gui hidpi improvements and updated toolkit links
2 parents c0443c5 + 9b30721 commit 44eb11d

File tree

6 files changed

+66
-31
lines changed

6 files changed

+66
-31
lines changed

src/Interface/Application/ModuleWidget.cc

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -161,10 +161,18 @@ void ModuleWidgetDisplay::setupFrame(QStackedWidget* stacked)
161161

162162
void ModuleWidgetDisplay::setupTitle(const QString& name)
163163
{
164-
QFont titleFont(scirunModuleFontName(), titleFontSize, QFont::Bold);
164+
auto hiDpi = ModuleWidget::highResolutionExpandFactor_ > 1;
165+
auto fontSize = titleFontSize;
166+
if (hiDpi)
167+
fontSize--;
168+
QFont titleFont(scirunModuleFontName(), fontSize, QFont::Bold);
169+
if (hiDpi)
170+
titleFont.setBold(false);
165171
titleLabel_->setFont(titleFont);
166172
titleLabel_->setText(name);
167-
QFont smallerTitleFont(scirunModuleFontName(), titleFontSize - buttonPageFontSizeDiff);
173+
if (hiDpi)
174+
titleLabel_->setMinimumHeight(1.2 * titleLabel_->minimumHeight());
175+
QFont smallerTitleFont(scirunModuleFontName(), fontSize - buttonPageFontSizeDiff);
168176
buttonGroup_->setFont(smallerTitleFont);
169177
buttonGroup_->setTitle(name);
170178
progressGroupBox_->setFont(smallerTitleFont);
@@ -1172,13 +1180,13 @@ void ModuleWidget::makeOptionsDialog()
11721180

11731181
if (highResolutionExpandFactor_ > 1 && !isViewScene_)
11741182
{
1175-
//qDebug() << "expand factor for dialogs:" << highResolutionExpandFactor_;
1176-
//qDebug() << dialog_->size();
11771183
dialog_->setFixedHeight(dialog_->size().height() * highResolutionExpandFactor_);
11781184
dialog_->setFixedWidth(dialog_->size().width() * (((highResolutionExpandFactor_ - 1) * 0.5) + 1));
1179-
//qDebug() << dialog_->size();
11801185
}
11811186

1187+
if (highResolutionExpandFactor_ > 1 && isViewScene_)
1188+
dialog_->adjustToolbar();
1189+
11821190
dialog_->pull();
11831191
}
11841192
}

src/Interface/Application/NetworkEditor.cc

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -431,10 +431,11 @@ ModuleProxyWidget* NetworkEditor::setupModuleWidget(ModuleWidget* module)
431431

432432
if (highResolutionExpandFactor_ > 1)
433433
{
434-
module->setFixedHeight(proxy->size().height() * highResolutionExpandFactor_);
435-
proxy->setMaximumHeight(proxy->size().height() * highResolutionExpandFactor_);
436-
module->setFixedWidth(proxy->size().width() * std::max(highResolutionExpandFactor_*0.9, 1.0));
437-
proxy->setMaximumWidth(proxy->size().width() * std::max(highResolutionExpandFactor_*0.9, 1.0));
434+
auto multiplier = std::min(highResolutionExpandFactor_, 1.5);
435+
module->setFixedHeight(proxy->size().height() * multiplier);
436+
proxy->setMaximumHeight(proxy->size().height() * multiplier);
437+
module->setFixedWidth(proxy->size().width() * std::max(multiplier*0.9, 1.0));
438+
proxy->setMaximumWidth(proxy->size().width() * std::max(multiplier*0.9, 1.0));
438439
}
439440

440441
scene_->addItem(proxy);

src/Interface/Application/SCIRunMainWindow.cc

Lines changed: 33 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -254,24 +254,38 @@ SCIRunMainWindow::SCIRunMainWindow()
254254
connect(actionKeyboardShortcuts_, SIGNAL(triggered()), this, SLOT(showKeyboardShortcutsDialog()));
255255

256256
//TODO: store in xml file, add to app resources
257-
ToolkitInfo fwdInv{ "http://www.sci.utah.edu/images/software/forward-inverse/forward-inverse-mod.png",
258-
"http://sci.utah.edu/devbuilds/scirun5/toolkits/FwdInvToolkit_v1.2.zip",
259-
"FwdInvToolkit_stable.zip" };
260-
fwdInv.setupAction(actionForwardInverseStable_, this);
261-
ToolkitInfo fwdInvNightly{ "http://www.sci.utah.edu/images/software/forward-inverse/forward-inverse-mod.png",
262-
"https://codeload.github.com/SCIInstitute/FwdInvToolkit/zip/master",
263-
"FwdInvToolkit_nightly.zip" };
264-
fwdInvNightly.setupAction(actionForwardInverseNightly_, this);
265-
266-
ToolkitInfo brainStim{ "http://www.sci.utah.edu/images/software/BrainStimulator/brain-stimulator-mod.png",
267-
"http://sci.utah.edu/devbuilds/scirun5/toolkits/BrainStimulator_v1.2.zip",
268-
"BrainStimulator_stable.zip" };
269-
brainStim.setupAction(actionBrainStimulatorStable_, this);
270-
ToolkitInfo brainStimNightly{ "http://www.sci.utah.edu/images/software/BrainStimulator/brain-stimulator-mod.png",
271-
"https://codeload.github.com/SCIInstitute/BrainStimulator/zip/master",
272-
"BrainStimulator_nightly.zip" };
273-
brainStimNightly.setupAction(actionBrainStimulatorNightly_, this);
274-
257+
{
258+
ToolkitInfo fwdInv{ "http://www.sci.utah.edu/images/software/forward-inverse/forward-inverse-mod.png",
259+
#ifdef __APPLE__
260+
"https://codeload.github.com/SCIInstitute/FwdInvToolkit/zip/v1.3",
261+
#else
262+
"http://sci.utah.edu/devbuilds/scirun5/toolkits/FwdInvToolkit_v1.3.zip",
263+
#endif
264+
"FwdInvToolkit_stable.zip" };
265+
fwdInv.setupAction(actionForwardInverseStable_, this);
266+
}
267+
{
268+
ToolkitInfo fwdInvNightly{ "http://www.sci.utah.edu/images/software/forward-inverse/forward-inverse-mod.png",
269+
"https://codeload.github.com/SCIInstitute/FwdInvToolkit/zip/master",
270+
"FwdInvToolkit_nightly.zip" };
271+
fwdInvNightly.setupAction(actionForwardInverseNightly_, this);
272+
}
273+
{
274+
ToolkitInfo brainStim{ "http://www.sci.utah.edu/images/software/BrainStimulator/brain-stimulator-mod.png",
275+
#ifdef __APPLE__
276+
"https://codeload.github.com/SCIInstitute/BrainStimulator/zip/BrainStimulator_v1.3",
277+
#else
278+
"http://sci.utah.edu/devbuilds/scirun5/toolkits/BrainStimulator_v1.3.zip",
279+
#endif
280+
"BrainStimulator_stable.zip" };
281+
brainStim.setupAction(actionBrainStimulatorStable_, this);
282+
}
283+
{
284+
ToolkitInfo brainStimNightly{ "http://www.sci.utah.edu/images/software/BrainStimulator/brain-stimulator-mod.png",
285+
"https://codeload.github.com/SCIInstitute/BrainStimulator/zip/master",
286+
"BrainStimulator_nightly.zip" };
287+
brainStimNightly.setupAction(actionBrainStimulatorNightly_, this);
288+
}
275289
connect(actionLoadToolkit_, SIGNAL(triggered()), this, SLOT(loadToolkit()));
276290

277291
connect(networkEditor_, SIGNAL(networkExecuted()), networkProgressBar_.get(), SLOT(resetModulesDone()));
@@ -537,7 +551,7 @@ void SCIRunMainWindow::setupNetworkEditor()
537551
{
538552
auto screen = QApplication::desktop()->screenGeometry();
539553
if (screen.height() * screen.width() > 5000000)
540-
highResolutionExpandFactor *= 1.5;
554+
highResolutionExpandFactor = 1.7;
541555
}
542556
networkEditor_ = new NetworkEditor({ getter, defaultNotePositionGetter_, dialogErrorControl_, preexecuteFunc,
543557
tagColorFunc, tagNameFunc, highResolutionExpandFactor, dockManager_ }, scrollAreaWidgetContents_);
@@ -1681,8 +1695,6 @@ void SCIRunMainWindow::resetWindowLayout()
16811695
moduleSelectorDockWidget_->show();
16821696
moduleSelectorDockWidget_->setFloating(false);
16831697
addDockWidget(Qt::LeftDockWidgetArea, moduleSelectorDockWidget_);
1684-
1685-
qDebug() << "TODO: toolbars";
16861698
}
16871699

16881700
void SCIRunMainWindow::hideNonfunctioningWidgets()
@@ -1996,7 +2008,6 @@ void SCIRunMainWindow::showStatusMessage(const QString& str, int timeInMsec)
19962008

19972009
void SCIRunMainWindow::showExtendedDataInfo()
19982010
{
1999-
qDebug() << "showExtendedDataInfo";
20002011
}
20012012

20022013
void SCIRunMainWindow::toggleMetadataLayer(bool toggle)

src/Interface/Modules/Base/ModuleDialogGeneric.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ namespace Gui {
8080
void setupButtonBar();
8181
bool isCollapsed() const { return collapsed_; }
8282
virtual void createStartupNote() {}
83+
virtual void adjustToolbar() {}
8384
static void setExecutionDisablingServiceFunctionAdd(ExecutionDisablingServiceFunction add) { disablerAdd_ = add; }
8485
static void setExecutionDisablingServiceFunctionRemove(ExecutionDisablingServiceFunction remove) { disablerRemove_ = remove; }
8586
static const std::set<ModuleDialogGeneric*>& instances() { return instances_; }

src/Interface/Modules/Render/ViewScene.cc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,19 @@ void ViewSceneDialog::pullSpecial()
160160
pulledSavedVisibility_ = true;
161161
}
162162

163+
void ViewSceneDialog::adjustToolbar()
164+
{
165+
for (auto& child : mToolBar->children())
166+
{
167+
auto button = qobject_cast<QPushButton*>(child);
168+
if (button)
169+
{
170+
button->setFixedSize(button->size() * 2);
171+
button->setIconSize(button->iconSize() * 2);
172+
}
173+
}
174+
}
175+
163176
void ViewSceneDialog::setInitialLightValues()
164177
{
165178
auto light0str = state_->getValue(Modules::Render::ViewScene::HeadLightColor).toString();

src/Interface/Modules/Render/ViewScene.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ namespace SCIRun {
6666
Dataflow::Networks::ModuleStateHandle state,
6767
QWidget* parent = nullptr);
6868

69+
void adjustToolbar() override;
6970
Q_SIGNALS:
7071
void newGeometryValueForwarder();
7172
void mousePressSignalForTestingGeometryObjectFeedback(int x, int y, const std::string& selName);

0 commit comments

Comments
 (0)