Skip to content

Commit fc83125

Browse files
committed
fix some clazy warnings and crashes
1 parent eb22a9a commit fc83125

35 files changed

Lines changed: 963 additions & 876 deletions

demo/ImageViewer.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,10 @@ void CImageViewer::open()
144144
QFileDialog dialog(this, tr("Open File"));
145145
initializeImageFileDialog(dialog, QFileDialog::AcceptOpen);
146146

147-
while (dialog.exec() == QDialog::Accepted && !loadFile(dialog.selectedFiles().first())) {}
147+
auto selectedFiles = dialog.selectedFiles();
148+
while (dialog.exec() == QDialog::Accepted && !loadFile(selectedFiles.first()))
149+
{
150+
}
148151
}
149152

150153

demo/MainWindow.cpp

Lines changed: 76 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@
3232
#include <MainWindow.h>
3333
#include "ui_mainwindow.h"
3434

35-
#include <iostream>
36-
3735
#include <QTime>
3836
#include <QLabel>
3937
#include <QTextEdit>
@@ -109,13 +107,12 @@ int randomNumberBounded(int highest)
109107
static QString featuresString(ads::CDockWidget* DockWidget)
110108
{
111109
auto f = DockWidget->features();
112-
return QString("c%1 m%2 f%3")
113-
.arg(f.testFlag(ads::CDockWidget::DockWidgetClosable) ? "+" : "-")
114-
.arg(f.testFlag(ads::CDockWidget::DockWidgetMovable) ? "+" : "-")
115-
.arg(f.testFlag(ads::CDockWidget::DockWidgetFloatable) ? "+" : "-");
110+
return QString("c%1 m%2 f%3")
111+
.arg(f.testFlag(ads::CDockWidget::DockWidgetClosable) ? "+" : "-",
112+
f.testFlag(ads::CDockWidget::DockWidgetMovable) ? "+" : "-",
113+
f.testFlag(ads::CDockWidget::DockWidgetFloatable) ? "+" : "-");
116114
}
117115

118-
119116
/**
120117
* Appends the string returned by featuresString() to the window title of
121118
* the given DockWidget
@@ -396,32 +393,30 @@ struct MainWindowPrivate
396393
DockWidget->setMinimumSizeHintMode(ads::CDockWidget::MinimumSizeHintFromContent);
397394
auto ToolBar = DockWidget->createDefaultToolBar();
398395
auto Action = ToolBar->addAction(svgIcon(":/adsdemo/images/fullscreen.svg"), "Toggle Fullscreen");
399-
QObject::connect(Action, &QAction::triggered, [DockWidget]()
400-
{
401-
if (DockWidget->isFullScreen())
402-
{
403-
DockWidget->showNormal();
404-
}
405-
else
406-
{
407-
DockWidget->showFullScreen();
408-
}
409-
});
410-
ui.menuView->addAction(DockWidget->toggleViewAction());
411-
return DockWidget;
412-
}
396+
QObject::connect(Action, &QAction::triggered, DockWidget, [DockWidget]() {
397+
if (DockWidget->isFullScreen())
398+
{
399+
DockWidget->showNormal();
400+
}
401+
else
402+
{
403+
DockWidget->showFullScreen();
404+
}
405+
});
406+
ui.menuView->addAction(DockWidget->toggleViewAction());
407+
return DockWidget;
408+
}
413409

414-
/**
415-
* Create QQuickWidget for test for OpenGL and QQuick
416-
*/
417-
ads::CDockWidget *createQQuickWidget()
418-
{
419-
QQuickWidget *widget = new QQuickWidget();
420-
ads::CDockWidget *dockWidget = DockManager->createDockWidget("Quick");
410+
/**
411+
* Create QQuickWidget for test for OpenGL and QQuick
412+
*/
413+
ads::CDockWidget* createQQuickWidget()
414+
{
415+
QQuickWidget* widget = new QQuickWidget();
416+
ads::CDockWidget *dockWidget = DockManager->createDockWidget("Quick");
421417
dockWidget->setWidget(widget);
422418
return dockWidget;
423-
}
424-
419+
}
425420

426421
#ifdef Q_OS_WIN
427422
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
@@ -484,45 +479,47 @@ void MainWindowPrivate::createContent()
484479
auto DockArea = DockManager->addDockWidget(ads::CenterDockWidgetArea, DockWidget, TopDockArea);
485480
// Now we create a action to test resizing of DockArea widget
486481
auto Action = ui.menuTests->addAction(QString("Resize %1").arg(DockWidget->windowTitle()));
487-
QObject::connect(Action, &QAction::triggered, [DockArea]()
488-
{
489-
// Resizing only works, if the Splitter is visible and has a valid
490-
// sizes
491-
auto Splitter = ads::internal::findParent<ads::CDockSplitter*>(DockArea);
492-
if (!Splitter)
493-
{
494-
return;
495-
}
496-
// We change the sizes of the splitter that contains the Calendar 1 widget
482+
QObject::connect(Action, &QAction::triggered, DockArea, [DockArea]() {
483+
// Resizing only works, if the Splitter is visible and has a valid
484+
// sizes
485+
auto Splitter = ads::internal::findParent<ads::CDockSplitter*>(DockArea);
486+
if (!Splitter)
487+
{
488+
return;
489+
}
490+
// We change the sizes of the splitter that contains the Calendar 1 widget
497491
// to resize the dock widget
498492
int Width = Splitter->width();
499493
Splitter->setSizes({Width * 2/3, Width * 1/3});
500-
});
501-
DockWidget->setWindowTitle(QString("My " + DockWidget->windowTitle()));
494+
});
495+
DockWidget->setWindowTitle(QString("My " + DockWidget->windowTitle()));
502496

503-
// Now we add a custom button to the dock area title bar that will create
504-
// new editor widgets when clicked
505-
auto CustomButton = new QToolButton(DockArea);
506-
CustomButton->setToolTip(QObject::tr("Create Editor"));
507-
CustomButton->setIcon(svgIcon(":/adsdemo/images/plus.svg"));
508-
CustomButton->setAutoRaise(true);
497+
// Now we add a custom button to the dock area title bar that will create
498+
// new editor widgets when clicked
499+
auto CustomButton = new QToolButton(DockArea);
500+
CustomButton->setToolTip(QObject::tr("Create Editor"));
501+
CustomButton->setIcon(svgIcon(":/adsdemo/images/plus.svg"));
502+
CustomButton->setAutoRaise(true);
509503

510504
auto TitleBar = DockArea->titleBar();
511505
int Index = TitleBar->indexOf(TitleBar->tabBar());
512506
TitleBar->insertWidget(Index + 1, CustomButton);
513-
QObject::connect(CustomButton, &QToolButton::clicked, [DockArea, this]()
514-
{
515-
auto DockWidget = createEditorWidget();
516-
DockWidget->setFeature(ads::CDockWidget::DockWidgetDeleteOnClose, true);
517-
DockManager->addDockWidgetTabToArea(DockWidget, DockArea);
518-
_this->connect(DockWidget, SIGNAL(closeRequested()), SLOT(onEditorCloseRequested()));
519-
});
520-
521-
// Test dock area docking
522-
auto RighDockArea = DockManager->addDockWidget(ads::RightDockWidgetArea, createLongTextLabelDockWidget(), TopDockArea);
523-
DockWidget = createLongTextLabelDockWidget();
524-
DockWidget->setFeature(ads::CDockWidget::DockWidgetPinnable, false);
525-
DockManager->addDockWidget(ads::TopDockWidgetArea, DockWidget, RighDockArea);
507+
QObject::connect(
508+
CustomButton, &QToolButton::clicked, DockArea, [DockArea, this]() {
509+
auto DockWidget = createEditorWidget();
510+
DockWidget->setFeature(ads::CDockWidget::DockWidgetDeleteOnClose,
511+
true);
512+
DockManager->addDockWidgetTabToArea(DockWidget, DockArea);
513+
_this->connect(DockWidget, SIGNAL(closeRequested()),
514+
SLOT(onEditorCloseRequested()));
515+
});
516+
517+
// Test dock area docking
518+
auto RighDockArea = DockManager->addDockWidget(
519+
ads::RightDockWidgetArea, createLongTextLabelDockWidget(), TopDockArea);
520+
DockWidget = createLongTextLabelDockWidget();
521+
DockWidget->setFeature(ads::CDockWidget::DockWidgetPinnable, false);
522+
DockManager->addDockWidget(ads::TopDockWidgetArea, DockWidget, RighDockArea);
526523
auto BottomDockArea = DockManager->addDockWidget(ads::BottomDockWidgetArea, createLongTextLabelDockWidget(), RighDockArea);
527524
DockManager->addDockWidget(ads::CenterDockWidgetArea, createLongTextLabelDockWidget(), RighDockArea);
528525
auto LabelDockWidget = createLongTextLabelDockWidget();
@@ -531,15 +528,16 @@ void MainWindowPrivate::createContent()
531528
// Tests CustomCloseHandling without DeleteOnClose
532529
LabelDockWidget->setFeature(ads::CDockWidget::CustomCloseHandling, true);
533530
LabelDockWidget->setWindowTitle(LabelDockWidget->windowTitle() + " [Custom Close]");
534-
QObject::connect(LabelDockWidget, &ads::CDockWidget::closeRequested, [LabelDockWidget, this]()
535-
{
536-
int Result = QMessageBox::question(_this, "Custom Close Request",
537-
"Do you really want to close this dock widget?");
538-
if (QMessageBox::Yes == Result)
539-
{
540-
LabelDockWidget->closeDockWidget();
541-
}
542-
});
531+
QObject::connect(LabelDockWidget, &ads::CDockWidget::closeRequested,
532+
LabelDockWidget, [LabelDockWidget, this]() {
533+
int Result = QMessageBox::question(
534+
_this, "Custom Close Request",
535+
"Do you really want to close this dock widget?");
536+
if (QMessageBox::Yes == Result)
537+
{
538+
LabelDockWidget->closeDockWidget();
539+
}
540+
});
543541

544542
Action = ui.menuTests->addAction(QString("Set %1 Floating").arg(DockWidget->windowTitle()));
545543
DockWidget->connect(Action, SIGNAL(triggered()), SLOT(setFloating()));
@@ -565,14 +563,15 @@ void MainWindowPrivate::createContent()
565563
#endif
566564
#endif
567565

568-
for (auto DockWidget : DockManager->dockWidgetsMap())
569-
{
570-
_this->connect(DockWidget, SIGNAL(viewToggled(bool)), SLOT(onViewToggled(bool)));
571-
_this->connect(DockWidget, SIGNAL(visibilityChanged(bool)), SLOT(onViewVisibilityChanged(bool)));
572-
}
566+
for (auto& DockWidget : DockManager->dockWidgetsMap())
567+
{
568+
_this->connect(DockWidget, SIGNAL(viewToggled(bool)),
569+
SLOT(onViewToggled(bool)));
570+
_this->connect(DockWidget, SIGNAL(visibilityChanged(bool)), SLOT(onViewVisibilityChanged(bool)));
571+
}
573572

574-
// Create image viewer
575-
DockWidget = createImageViewer();
573+
// Create image viewer
574+
DockWidget = createImageViewer();
576575
DockManager->addDockWidget(ads::LeftDockWidgetArea, DockWidget);
577576

578577
// Create quick widget

examples/autohide/mainwindow.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ void CMainWindow::createPerspectiveUi()
8989
PerspectiveComboBox = new QComboBox(this);
9090
PerspectiveComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
9191
PerspectiveComboBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
92-
connect(PerspectiveComboBox, SIGNAL(currentTextChanged(const QString&)),
93-
DockManager, SLOT(openPerspective(const QString&)));
94-
PerspectiveListAction->setDefaultWidget(PerspectiveComboBox);
92+
connect(PerspectiveComboBox, &QComboBox::currentTextChanged, DockManager,
93+
&ads::CDockManager::openPerspective);
94+
PerspectiveListAction->setDefaultWidget(PerspectiveComboBox);
9595
ui->toolBar->addSeparator();
9696
ui->toolBar->addAction(PerspectiveListAction);
9797
ui->toolBar->addAction(SavePerspectiveAction);

examples/autohidedragndrop/mainwindow.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,11 @@ void CMainWindow::createPerspectiveUi()
9494
PerspectiveComboBox = new QComboBox(this);
9595
PerspectiveComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
9696
PerspectiveComboBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
97-
connect(PerspectiveComboBox, SIGNAL(currentTextChanged(const QString&)),
98-
DockManager, SLOT(openPerspective(const QString&)));
99-
PerspectiveListAction->setDefaultWidget(PerspectiveComboBox);
100-
ui->toolBar->addSeparator();
101-
ui->toolBar->addAction(PerspectiveListAction);
97+
connect(PerspectiveComboBox, &QComboBox::currentTextChanged, DockManager,
98+
&ads::CDockManager::openPerspective);
99+
PerspectiveListAction->setDefaultWidget(PerspectiveComboBox);
100+
ui->toolBar->addSeparator();
101+
ui->toolBar->addAction(PerspectiveListAction);
102102
ui->toolBar->addAction(SavePerspectiveAction);
103103
}
104104

examples/centralwidget/mainwindow.cpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,16 +91,17 @@ CMainWindow::~CMainWindow()
9191
void CMainWindow::createPerspectiveUi()
9292
{
9393
SavePerspectiveAction = new QAction("Create Perspective", this);
94-
connect(SavePerspectiveAction, SIGNAL(triggered()), SLOT(savePerspective()));
95-
PerspectiveListAction = new QWidgetAction(this);
94+
connect(SavePerspectiveAction, SIGNAL(triggered()), this,
95+
SLOT(savePerspective()));
96+
PerspectiveListAction = new QWidgetAction(this);
9697
PerspectiveComboBox = new QComboBox(this);
9798
PerspectiveComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
9899
PerspectiveComboBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
99-
connect(PerspectiveComboBox, SIGNAL(currentTextChanged(const QString&)),
100-
DockManager, SLOT(openPerspective(const QString&)));
101-
PerspectiveListAction->setDefaultWidget(PerspectiveComboBox);
102-
ui->toolBar->addSeparator();
103-
ui->toolBar->addAction(PerspectiveListAction);
100+
connect(PerspectiveComboBox, &QComboBox::currentTextChanged, DockManager,
101+
&ads::CDockManager::openPerspective);
102+
PerspectiveListAction->setDefaultWidget(PerspectiveComboBox);
103+
ui->toolBar->addSeparator();
104+
ui->toolBar->addAction(PerspectiveListAction);
104105
ui->toolBar->addAction(SavePerspectiveAction);
105106
}
106107

examples/deleteonclose/main.cpp

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,30 +35,38 @@ int main(int argc, char *argv[])
3535
ads::CDockManager::setConfigFlag(ads::CDockManager::AllTabsHaveCloseButton, true);
3636
auto dockManager = new ads::CDockManager(&w);
3737
w.setDockManager(dockManager);
38-
QObject::connect(dockManager, &ads::CDockManager::focusedDockWidgetChanged, [] (ads::CDockWidget* old, ads::CDockWidget* now) {
39-
static int Count = 0;
40-
qDebug() << Count++ << " CDockManager::focusedDockWidgetChanged old: " << (old ? old->objectName() : "-") << " now: " << now->objectName() << " visible: " << now->isVisible();
41-
now->widget()->setFocus();
42-
});
38+
QObject::connect(dockManager, &ads::CDockManager::focusedDockWidgetChanged,
39+
&w, [](ads::CDockWidget* old, ads::CDockWidget* now) {
40+
static int Count = 0;
41+
qDebug()
42+
<< Count++
43+
<< " CDockManager::focusedDockWidgetChanged old: "
44+
<< (old ? old->objectName() : "-")
45+
<< " now: " << now->objectName()
46+
<< " visible: " << now->isVisible();
47+
now->widget()->setFocus();
48+
});
4349

4450
QAction *action = new QAction("New [DockWidgetDeleteOnClose]", &w);
4551
w.menuBar()->addAction(action);
4652

4753
int i = 0;
48-
QObject::connect(action, &QAction::triggered, [&]() {
54+
QObject::connect(action, &QAction::triggered, &w, [&]() {
4955
auto dw = dockManager->createDockWidget(QStringLiteral("test %1 [DockWidgetDeleteOnClose]").arg(i++), &w);
5056
auto editor = new QTextEdit(QStringLiteral("lorem ipsum..."), dw);
5157
dw->setWidget(editor);
5258
dw->setFeature(ads::CDockWidget::DockWidgetDeleteOnClose, true);
5359
auto area = dockManager->addDockWidgetTab(ads::CenterDockWidgetArea, dw);
5460
qDebug() << "doc dock widget created!" << dw << area;
5561
});
56-
57-
auto dw = dockManager->createDockWidget(QStringLiteral("test %1 [DeleteContentOnClose]").arg(i++), &w);
58-
auto editor = new QTextEdit(QStringLiteral("recreated lorem ipsum......"), dw);
59-
dw->setWidget(editor);
60-
dw->setFeature(ads::CDockWidget::DeleteContentOnClose, true);
61-
dw->setWidgetFactory([](QWidget* dw)
62+
63+
auto dw = dockManager->createDockWidget(
64+
QStringLiteral("test %1 [DeleteContentOnClose]").arg(i++), &w);
65+
auto editor =
66+
new QTextEdit(QStringLiteral("recreated lorem ipsum......"), dw);
67+
dw->setWidget(editor);
68+
dw->setFeature(ads::CDockWidget::DeleteContentOnClose, true);
69+
dw->setWidgetFactory([](QWidget* dw)
6270
{
6371
static int timesRecreated = 0;
6472
return new QTextEdit(QStringLiteral("recreated lorem ipsum... times %1").arg(++timesRecreated), dw);
@@ -68,15 +76,17 @@ int main(int argc, char *argv[])
6876

6977
action = new QAction("Toggle [DeleteContentOnClose]", &w);
7078
w.menuBar()->addAction(action);
71-
72-
QObject::connect(action, &QAction::triggered, [dw]() {
73-
dw->toggleView(dw->isClosed());
74-
qDebug() << QString("dock widget %1! contents widget %2!").arg(dw->isClosed() ? "closed" : "open", dw->widget() ? "created" : "deleted");
79+
80+
QObject::connect(action, &QAction::triggered, dw, [dw]() {
81+
dw->toggleView(dw->isClosed());
82+
qDebug() << QString("dock widget %1! contents widget %2!")
83+
.arg(dw->isClosed() ? "closed" : "open",
84+
dw->widget() ? "created" : "deleted");
7585
});
76-
86+
7787
action = new QAction("New", &w);
7888
w.menuBar()->addAction(action);
79-
QObject::connect(action, &QAction::triggered, [&]() {
89+
QObject::connect(action, &QAction::triggered, &w, [&]() {
8090
auto dw = dockManager->createDockWidget(QStringLiteral("test %1").arg(i++), &w);
8191
auto editor = new QTextEdit(QStringLiteral("lorem ipsum..."), dw);
8292
dw->setWidget(editor);

examples/dockindock/dockindock.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,12 +206,12 @@ void DockInDockWidget::fillPerspectivesMenu( QMenu* menu )
206206
if ( !perspectiveNames.isEmpty() )
207207
{
208208
QMenu* load = menu->addMenu( "Load perspective" );
209-
for (const auto& name : perspectiveNames)
209+
for (const auto& name : std::as_const(perspectiveNames))
210210
{
211211
load->addAction(new LoadPerspectiveAction( load, name, *this));
212212
}
213213
QMenu* remove = menu->addMenu( "Remove perspective" );
214-
for (const auto& name : perspectiveNames)
214+
for (const auto& name : std::as_const(perspectiveNames))
215215
{
216216
remove->addAction( new RemovePerspectiveAction( remove, name, *this ));
217217
}
@@ -290,7 +290,7 @@ void DockInDockWidget::dumpStatus( std::ostream& str, std::string tab )
290290
::dumpStatus( str, widget, tab, "" );
291291
}
292292

293-
for ( auto closed : getManager()->dockWidgetsMap() )
293+
for (auto& closed : getManager()->dockWidgetsMap())
294294
{
295295
if ( visibleWidgets.find( closed ) == visibleWidgets.end() )
296296
{

examples/dockindock/dockindockmanager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ std::vector<ads::CDockWidget*> DockInDockManager::getWidgetsInGUIOrder() const
230230
result.reserve( dockWidgetsMap().size() );
231231
for ( int i = 0; i != dockAreaCount(); ++i )
232232
{
233-
for ( auto widget : dockArea(i)->dockWidgets() )
233+
for (auto& widget : dockArea(i)->dockWidgets())
234234
result.push_back( widget );
235235
}
236236
return result;

0 commit comments

Comments
 (0)