-
Notifications
You must be signed in to change notification settings - Fork 181
Open
Description
// The 2nd MainWindow within first MainWindow does not show its dockWidgets when toggled
using namespace KDDockWidgets;
DockWidget *createDockWidget(MainWindow mainWindow, QMenu mainWindowMenu, const QString &label, const QStringList affinities = {})
{
auto dockWidget = new DockWidget(label);
dockWidget->setAffinities(affinities);
QLabel *l = new QLabel(label);
dockWidget->setWidget(l);
mainWindow->addDockWidget(dockWidget, Location::Location_OnTop);
mainWindowMenu->addAction(dockWidget->toggleAction());
return dockWidget;
}
int main(int argc, char **argv)
{
QApplication app(argc, argv);
MainWindow * mainWindow = new MainWindow("mainWindow");
QMenu *mainWindowMenu = mainWindow->menuBar()->addMenu("Toggle1");
createDockWidget(mainWindow, mainWindowMenu, "L1");
createDockWidget(mainWindow, mainWindowMenu, "L2");
auto mainWindowDockWidget3 = new DockWidget("mainWindowInMainWindow");
MainWindow* mainWindow2 = new MainWindow("mainWindow2");
QMenu *mainWindowMenu2 = mainWindow2->menuBar()->addMenu("Toggle2");
const QStringList affinities { "DwInDw" };
mainWindow2->setAffinities(affinities);
mainWindowDockWidget3->setWidget(mainWindow2);
mainWindow->addDockWidget(mainWindowDockWidget3, Location_OnRight);
createDockWidget(mainWindow2, mainWindowMenu2, "L3", affinities);
createDockWidget(mainWindow2, mainWindowMenu2, "L4", affinities);
// Note - widgets show correctly on initialization,
// but when Toggle1/mainWindowInMainWindow is toggled, the dock widgets L3 & L4
// are not shown
mainWindowMenu->addAction(mainWindowDockWidget3->toggleAction());
mainWindow->resize(800, 800);
mainWindow->show();
return app.exec();
}
Metadata
Metadata
Assignees
Labels
No labels