diff --git a/src/config/configureoptionsdialog.cpp b/src/config/configureoptionsdialog.cpp index db8277e..eeba063 100644 --- a/src/config/configureoptionsdialog.cpp +++ b/src/config/configureoptionsdialog.cpp @@ -55,7 +55,7 @@ ConfigureOptionsDialog::ConfigureOptionsDialog(QWidget* parent, const OperationS item = addPage(&generalPageWidget(), i18nc("@title:tab general application settings", "General"), QString(), i18n("General Settings")); item->setIcon(QIcon::fromTheme(QStringLiteral("partitionmanager")).pixmap(IconSize(KIconLoader::Desktop))); - connect(&generalPageWidget().comboDefaultFileSystem(), SIGNAL(activated(int)), SLOT(onComboDefaultFileSystemActivated(int))); + connect(&generalPageWidget().comboDefaultFileSystem(), static_cast(&QComboBox::activated), this, &ConfigureOptionsDialog::onComboDefaultFileSystemActivated); connect(generalPageWidget().radioButton, &QRadioButton::toggled, this, &ConfigureOptionsDialog::onShredSourceActivated); item = addPage(&fileSystemColorsPageWidget(), i18nc("@title:tab", "File System Colors"), QString(), i18n("File System Color Settings")); @@ -65,7 +65,7 @@ ConfigureOptionsDialog::ConfigureOptionsDialog(QWidget* parent, const OperationS item = addPage(&advancedPageWidget(), i18nc("@title:tab advanced application settings", "Advanced"), QString(), i18n("Advanced Settings")); item->setIcon(QIcon::fromTheme(QStringLiteral("configure")).pixmap(IconSize(KIconLoader::Desktop))); - connect(&advancedPageWidget().comboBackend(), SIGNAL(activated(int)), SLOT(onComboBackendActivated(int))); + connect(&advancedPageWidget().comboBackend(), static_cast(&QComboBox::activated), this, &ConfigureOptionsDialog::onComboDefaultFileSystemActivated); } else advancedPageWidget().setVisible(false); diff --git a/src/config/configureoptionsdialog.h b/src/config/configureoptionsdialog.h index a03312d..bff5aac 100644 --- a/src/config/configureoptionsdialog.h +++ b/src/config/configureoptionsdialog.h @@ -29,13 +29,11 @@ class OperationStack; class ConfigureOptionsDialog : public KConfigDialog { - Q_OBJECT - public: ConfigureOptionsDialog(QWidget* parent, const OperationStack& ostack, const QString& name); ~ConfigureOptionsDialog(); -protected Q_SLOTS: +protected: void updateSettings() override; void updateWidgetsDefault() override; bool hasChanged() override; @@ -48,7 +46,6 @@ protected Q_SLOTS: } void onComboBackendActivated(int); -protected: GeneralPageWidget& generalPageWidget() { Q_ASSERT(m_GeneralPageWidget); return *m_GeneralPageWidget; diff --git a/src/gui/applyprogressdetailswidget.h b/src/gui/applyprogressdetailswidget.h index 6b1ad40..2de4bac 100644 --- a/src/gui/applyprogressdetailswidget.h +++ b/src/gui/applyprogressdetailswidget.h @@ -26,8 +26,6 @@ */ class ApplyProgressDetailsWidget : public QWidget, public Ui::ApplyProgressDetailsWidgetBase { - Q_OBJECT - public: ApplyProgressDetailsWidget(QWidget* parent) : QWidget(parent) { setupUi(this); diff --git a/src/gui/applyprogressdialog.cpp b/src/gui/applyprogressdialog.cpp index be0f97e..208b1df 100644 --- a/src/gui/applyprogressdialog.cpp +++ b/src/gui/applyprogressdialog.cpp @@ -43,7 +43,7 @@ #include #include -#include +#include #include #include #include @@ -117,15 +117,15 @@ ApplyProgressDialog::~ApplyProgressDialog() void ApplyProgressDialog::setupConnections() { - connect(&operationRunner(), SIGNAL(progressSub(int)), &dialogWidget().progressSub(), SLOT(setValue(int))); - connect(&operationRunner(), SIGNAL(finished()), SLOT(onAllOpsFinished())); - connect(&operationRunner(), SIGNAL(cancelled()), SLOT(onAllOpsCancelled())); - connect(&operationRunner(), SIGNAL(error()), SLOT(onAllOpsError())); - connect(&operationRunner(), SIGNAL(opStarted(int, Operation*)), SLOT(onOpStarted(int, Operation*))); - connect(&operationRunner(), SIGNAL(opFinished(int, Operation*)), SLOT(onOpFinished(int, Operation*))); - connect(&timer(), SIGNAL(timeout()), SLOT(onSecondElapsed())); - connect(&detailsWidget().buttonSave(), SIGNAL(clicked()), SLOT(saveReport())); - connect(&detailsWidget().buttonBrowser(), SIGNAL(clicked()), SLOT(browserReport())); + connect(&operationRunner(), &OperationRunner::progressSub, &dialogWidget().progressSub(), &QProgressBar::setValue); + connect(&operationRunner(), &OperationRunner::finished, this, &ApplyProgressDialog::onAllOpsFinished); + connect(&operationRunner(), &OperationRunner::cancelled, this, &ApplyProgressDialog::onAllOpsCancelled); + connect(&operationRunner(), &OperationRunner::error, this, &ApplyProgressDialog::onAllOpsError); + connect(&operationRunner(), &OperationRunner::opStarted, this, &ApplyProgressDialog::onOpStarted); + connect(&operationRunner(), &OperationRunner::opFinished, this, &ApplyProgressDialog::onOpFinished); + connect(&timer(), &QTimer::timeout, this, &ApplyProgressDialog::onSecondElapsed); + connect(&detailsWidget().buttonSave(), &QPushButton::clicked, this, &ApplyProgressDialog::saveReport); + connect(&detailsWidget().buttonBrowser(), &QPushButton::clicked, this, &ApplyProgressDialog::browserReport); connect(dialogButtonBox, &QDialogButtonBox::accepted, this, &ApplyProgressDialog::accept); connect(dialogButtonBox, &QDialogButtonBox::rejected, this, &ApplyProgressDialog::reject); connect(detailsButton, &QPushButton::clicked, this, &ApplyProgressDialog::toggleDetails); @@ -165,7 +165,7 @@ void ApplyProgressDialog::resetReport() detailsWidget().buttonSave().setEnabled(false); detailsWidget().buttonBrowser().setEnabled(false); - connect(&report(), SIGNAL(outputChanged()), SLOT(updateReport())); + connect(&report(), &Report::outputChanged, this, &ApplyProgressDialog::updateReportUnforced); } void ApplyProgressDialog::closeEvent(QCloseEvent* e) @@ -253,6 +253,11 @@ void ApplyProgressDialog::allOpsDone(const QString& msg) setStatus(msg); } +void ApplyProgressDialog::updateReportUnforced() +{ + updateReport(false); +} + void ApplyProgressDialog::updateReport(bool force) { // Rendering the HTML in the QTextEdit is extremely expensive. So make sure not to do that diff --git a/src/gui/applyprogressdialog.h b/src/gui/applyprogressdialog.h index 993f298..9169f6f 100644 --- a/src/gui/applyprogressdialog.h +++ b/src/gui/applyprogressdialog.h @@ -45,7 +45,6 @@ class QKeyEvent; */ class ApplyProgressDialog : public QDialog { - Q_OBJECT Q_DISABLE_COPY(ApplyProgressDialog) public: @@ -64,7 +63,7 @@ public: return *m_Report; } -protected Q_SLOTS: +protected: void onAllOpsFinished(); void onAllOpsCancelled(); void onAllOpsError(); @@ -76,9 +75,9 @@ protected Q_SLOTS: void onSecondElapsed(); void saveReport(); void browserReport(); + void updateReportUnforced(); void updateReport(bool force = false); -protected: void onJobStarted(Job* job, Operation* op); void onJobFinished(Job* job, Operation* op); void toggleDetails(); diff --git a/src/gui/createpartitiontabledialog.cpp b/src/gui/createpartitiontabledialog.cpp index 2c1cb32..6dca26f 100644 --- a/src/gui/createpartitiontabledialog.cpp +++ b/src/gui/createpartitiontabledialog.cpp @@ -44,7 +44,7 @@ CreatePartitionTableDialog::CreatePartitionTableDialog(QWidget* parent, const De cancelButton = dialogButtonBox->addButton(QDialogButtonBox::Cancel); mainLayout->addWidget(dialogButtonBox); - connect(&widget().radioMSDOS(), SIGNAL(toggled(bool)), SLOT(onMSDOSToggled(bool))); + connect(&widget().radioMSDOS(), &QRadioButton::toggled, this, &CreatePartitionTableDialog::onMSDOSToggled); connect(dialogButtonBox, &QDialogButtonBox::accepted, this, &CreatePartitionTableDialog::accept); connect(dialogButtonBox, &QDialogButtonBox::rejected, this, &CreatePartitionTableDialog::reject); } diff --git a/src/gui/createpartitiontabledialog.h b/src/gui/createpartitiontabledialog.h index 583b594..c0471dc 100644 --- a/src/gui/createpartitiontabledialog.h +++ b/src/gui/createpartitiontabledialog.h @@ -32,8 +32,6 @@ class QPushButton; class CreatePartitionTableDialog : public QDialog { - Q_OBJECT - public: CreatePartitionTableDialog(QWidget* parent, const Device& d); @@ -51,7 +49,6 @@ protected: return m_Device; } -protected Q_SLOTS: void onMSDOSToggled(bool on); private: diff --git a/src/gui/createpartitiontablewidget.h b/src/gui/createpartitiontablewidget.h index 4acc385..87b2fb4 100644 --- a/src/gui/createpartitiontablewidget.h +++ b/src/gui/createpartitiontablewidget.h @@ -27,8 +27,6 @@ class CreatePartitionTableWidget : public QWidget, public Ui::CreatePartitionTableWidgetBase { - Q_OBJECT - public: CreatePartitionTableWidget(QWidget* parent); diff --git a/src/gui/devicepropsdialog.cpp b/src/gui/devicepropsdialog.cpp index c442c67..bdcba3d 100644 --- a/src/gui/devicepropsdialog.cpp +++ b/src/gui/devicepropsdialog.cpp @@ -137,9 +137,9 @@ void DevicePropsDialog::setupDialog() void DevicePropsDialog::setupConnections() { - connect(&dialogWidget().radioSectorBased(), SIGNAL(toggled(bool)), SLOT(setDirty(bool))); - connect(&dialogWidget().radioCylinderBased(), SIGNAL(toggled(bool)), SLOT(setDirty(bool))); - connect(&dialogWidget().buttonSmartMore(), SIGNAL(clicked(bool)), SLOT(onButtonSmartMore(bool))); + connect(&dialogWidget().radioSectorBased(), &QRadioButton::toggled, this, &DevicePropsDialog::setDirty); + connect(&dialogWidget().radioCylinderBased(), &QRadioButton::toggled, this, &DevicePropsDialog::setDirty); + connect(&dialogWidget().buttonSmartMore(), &QPushButton::clicked, this, &DevicePropsDialog::onButtonSmartMore); } void DevicePropsDialog::setDirty(bool) diff --git a/src/gui/devicepropsdialog.h b/src/gui/devicepropsdialog.h index f90fa03..9fd668e 100644 --- a/src/gui/devicepropsdialog.h +++ b/src/gui/devicepropsdialog.h @@ -39,7 +39,6 @@ class QString; */ class DevicePropsDialog : public QDialog { - Q_OBJECT Q_DISABLE_COPY(DevicePropsDialog) public: @@ -70,9 +69,6 @@ protected: return *m_DialogWidget; } - void onButtonSmartMore(); - -protected Q_SLOTS: void setDirty(bool); void onButtonSmartMore(bool); diff --git a/src/gui/editmountoptionsdialog.h b/src/gui/editmountoptionsdialog.h index 2316b2a..a5102ec 100644 --- a/src/gui/editmountoptionsdialog.h +++ b/src/gui/editmountoptionsdialog.h @@ -29,8 +29,6 @@ class QWidget; class EditMountOptionsDialog : public QDialog { - Q_OBJECT - public: EditMountOptionsDialog(QWidget* parent, const QStringList& options); ~EditMountOptionsDialog(); diff --git a/src/gui/editmountpointdialog.h b/src/gui/editmountpointdialog.h index 2283ec7..1028d72 100644 --- a/src/gui/editmountpointdialog.h +++ b/src/gui/editmountpointdialog.h @@ -30,8 +30,6 @@ class QString; class EditMountPointDialog : public QDialog { - Q_OBJECT - public: EditMountPointDialog(QWidget* parent, Partition& p); ~EditMountPointDialog(); @@ -41,7 +39,6 @@ protected: return *m_DialogWidget; } -protected Q_SLOTS: void accept() override; private: diff --git a/src/gui/filesystemsupportdialog.cpp b/src/gui/filesystemsupportdialog.cpp index 973d6de..c16cca5 100644 --- a/src/gui/filesystemsupportdialog.cpp +++ b/src/gui/filesystemsupportdialog.cpp @@ -108,7 +108,7 @@ void FileSystemSupportDialog::setupDialog() void FileSystemSupportDialog::setupConnections() { connect(dialogButtonBox->button(QDialogButtonBox::Ok), &QPushButton::clicked, this, &FileSystemSupportDialog::close); - connect(&dialogWidget().buttonRescan(), SIGNAL(clicked()), SLOT(onButtonRescanClicked())); + connect(&dialogWidget().buttonRescan(), &QPushButton::clicked, this, &FileSystemSupportDialog::onButtonRescanClicked); } void FileSystemSupportDialog::onButtonRescanClicked() diff --git a/src/gui/filesystemsupportdialog.h b/src/gui/filesystemsupportdialog.h index 21b4591..db8943c 100644 --- a/src/gui/filesystemsupportdialog.h +++ b/src/gui/filesystemsupportdialog.h @@ -35,7 +35,6 @@ class FileSystemSupportDialogWidget; */ class FileSystemSupportDialog : public QDialog { - Q_OBJECT Q_DISABLE_COPY(FileSystemSupportDialog) public: @@ -45,10 +44,9 @@ public: public: QSize sizeHint() const override; -protected Q_SLOTS: +protected: void onButtonRescanClicked(); -protected: FileSystemSupportDialogWidget& dialogWidget() { Q_ASSERT(m_FileSystemSupportDialogWidget); return *m_FileSystemSupportDialogWidget; diff --git a/src/gui/insertdialog.h b/src/gui/insertdialog.h index 7ad8620..4bbe4e6 100644 --- a/src/gui/insertdialog.h +++ b/src/gui/insertdialog.h @@ -33,8 +33,6 @@ class Device; */ class InsertDialog : public SizeDialogBase { - Q_OBJECT - public: InsertDialog(QWidget* parent, Device& device, Partition& insertedPartition, const Partition& destPartition); ~InsertDialog(); diff --git a/src/gui/listdevices.h b/src/gui/listdevices.h index 4025659..d57d6d1 100644 --- a/src/gui/listdevices.h +++ b/src/gui/listdevices.h @@ -51,7 +51,6 @@ public: } bool setSelectedDevice(const QString& device_node); -public Q_SLOTS: void updateDevices(OperationStack::Devices& devices); protected: diff --git a/src/gui/listoperations.h b/src/gui/listoperations.h index 2fa2941..5fb3380 100644 --- a/src/gui/listoperations.h +++ b/src/gui/listoperations.h @@ -49,7 +49,6 @@ public: m_ActionCollection = coll; } -public Q_SLOTS: void updateOperations(const OperationStack::Operations& ops); protected: diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 385f376..1d96e59 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -182,7 +182,8 @@ void MainWindow::setupActions() KStandardAction::quit(this, SLOT(close()), actionCollection()); // Edit actions - QAction* undoOperation = actionCollection()->addAction(QStringLiteral("undoOperation"), this, SLOT(onUndoOperation())); + QAction* undoOperation = actionCollection()->addAction(QStringLiteral("undoOperation")); + connect(undoOperation, &QAction::triggered, this, &MainWindow::onUndoOperation); undoOperation->setEnabled(false); undoOperation->setText(i18nc("@action:inmenu", "Undo")); undoOperation->setToolTip(i18nc("@info:tooltip", "Undo the last operation")); @@ -190,14 +191,16 @@ void MainWindow::setupActions() actionCollection()->setDefaultShortcut(undoOperation, QKeySequence(Qt::CTRL + Qt::Key_Z)); undoOperation->setIcon(QIcon::fromTheme(QStringLiteral("edit-undo")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* clearAllOperations = actionCollection()->addAction(QStringLiteral("clearAllOperations"), this, SLOT(onClearAllOperations())); + QAction* clearAllOperations = actionCollection()->addAction(QStringLiteral("clearAllOperations")); + connect(clearAllOperations, &QAction::triggered, this, &MainWindow::onClearAllOperations); clearAllOperations->setEnabled(false); clearAllOperations->setText(i18nc("@action:inmenu clear the list of operations", "Clear")); clearAllOperations->setToolTip(i18nc("@info:tooltip", "Clear all operations")); clearAllOperations->setStatusTip(i18nc("@info:status", "Empty the list of pending operations.")); clearAllOperations->setIcon(QIcon::fromTheme(QStringLiteral("dialog-cancel")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* applyAllOperations = actionCollection()->addAction(QStringLiteral("applyAllOperations"), this, SLOT(onApplyAllOperations())); + QAction* applyAllOperations = actionCollection()->addAction(QStringLiteral("applyAllOperations")); + connect(applyAllOperations, &QAction::triggered, this, &MainWindow::onApplyAllOperations); applyAllOperations->setEnabled(false); applyAllOperations->setText(i18nc("@action:inmenu apply all operations", "Apply")); applyAllOperations->setToolTip(i18nc("@info:tooltip", "Apply all operations")); @@ -205,14 +208,16 @@ void MainWindow::setupActions() applyAllOperations->setIcon(QIcon::fromTheme(QStringLiteral("dialog-ok-apply")).pixmap(IconSize(KIconLoader::Toolbar))); // Device actions - QAction* refreshDevices = actionCollection()->addAction(QStringLiteral("refreshDevices"), this, SLOT(onRefreshDevices())); + QAction* refreshDevices = actionCollection()->addAction(QStringLiteral("refreshDevices")); + connect(refreshDevices, &QAction::triggered, this, &MainWindow::onRefreshDevices); refreshDevices->setText(i18nc("@action:inmenu refresh list of devices", "Refresh Devices")); refreshDevices->setToolTip(i18nc("@info:tooltip", "Refresh all devices")); refreshDevices->setStatusTip(i18nc("@info:status", "Renew the devices list.")); actionCollection()->setDefaultShortcut(refreshDevices, Qt::Key_F5); refreshDevices->setIcon(QIcon::fromTheme(QStringLiteral("view-refresh")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* createNewPartitionTable = actionCollection()->addAction(QStringLiteral("createNewPartitionTable"), this, SLOT(onCreateNewPartitionTable())); + QAction* createNewPartitionTable = actionCollection()->addAction(QStringLiteral("createNewPartitionTable")); + connect(createNewPartitionTable, &QAction::triggered, this, &MainWindow::onCreateNewPartitionTable); createNewPartitionTable->setEnabled(false); createNewPartitionTable->setText(i18nc("@action:inmenu", "New Partition Table")); createNewPartitionTable->setToolTip(i18nc("@info:tooltip", "Create a new partition table")); @@ -220,27 +225,31 @@ void MainWindow::setupActions() actionCollection()->setDefaultShortcut(createNewPartitionTable, QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_N)); createNewPartitionTable->setIcon(QIcon::fromTheme(QStringLiteral("edit-clear")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* exportPartitionTable = actionCollection()->addAction(QStringLiteral("exportPartitionTable"), this, SLOT(onExportPartitionTable())); + QAction* exportPartitionTable = actionCollection()->addAction(QStringLiteral("exportPartitionTable")); + connect(exportPartitionTable, &QAction::triggered, this, &MainWindow::onExportPartitionTable); exportPartitionTable->setEnabled(false); exportPartitionTable->setText(i18nc("@action:inmenu", "Export Partition Table")); exportPartitionTable->setToolTip(i18nc("@info:tooltip", "Export a partition table")); exportPartitionTable->setStatusTip(i18nc("@info:status", "Export the device's partition table to a text file.")); exportPartitionTable->setIcon(QIcon::fromTheme(QStringLiteral("document-export")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* importPartitionTable = actionCollection()->addAction(QStringLiteral("importPartitionTable"), this, SLOT(onImportPartitionTable())); + QAction* importPartitionTable = actionCollection()->addAction(QStringLiteral("importPartitionTable")); + connect(importPartitionTable, &QAction::triggered, this, &MainWindow::onImportPartitionTable); importPartitionTable->setEnabled(false); importPartitionTable->setText(i18nc("@action:inmenu", "Import Partition Table")); importPartitionTable->setToolTip(i18nc("@info:tooltip", "Import a partition table")); importPartitionTable->setStatusTip(i18nc("@info:status", "Import a partition table from a text file.")); importPartitionTable->setIcon(QIcon::fromTheme(QStringLiteral("document-import")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* smartStatusDevice = actionCollection()->addAction(QStringLiteral("smartStatusDevice"), this, SLOT(onSmartStatusDevice())); + QAction* smartStatusDevice = actionCollection()->addAction(QStringLiteral("smartStatusDevice")); + connect(smartStatusDevice, &QAction::triggered, this, &MainWindow::onSmartStatusDevice); smartStatusDevice->setEnabled(false); smartStatusDevice->setText(i18nc("@action:inmenu", "SMART Status")); smartStatusDevice->setToolTip(i18nc("@info:tooltip", "Show SMART status")); smartStatusDevice->setStatusTip(i18nc("@info:status", "Show the device's SMART status if supported")); - QAction* propertiesDevice = actionCollection()->addAction(QStringLiteral("propertiesDevice"), this, SLOT(onPropertiesDevice())); + QAction* propertiesDevice = actionCollection()->addAction(QStringLiteral("propertiesDevice")); + connect(propertiesDevice, &QAction::triggered, this, &MainWindow::onPropertiesDevice2); propertiesDevice->setEnabled(false); propertiesDevice->setText(i18nc("@action:inmenu", "Properties")); propertiesDevice->setToolTip(i18nc("@info:tooltip", "Show device properties dialog")); @@ -248,7 +257,8 @@ void MainWindow::setupActions() propertiesDevice->setIcon(QIcon::fromTheme(QStringLiteral("document-properties")).pixmap(IconSize(KIconLoader::Toolbar))); // Partition actions - QAction* newPartition = actionCollection()->addAction(QStringLiteral("newPartition"), &pmWidget(), SLOT(onNewPartition())); + QAction* newPartition = actionCollection()->addAction(QStringLiteral("newPartition")); + connect(newPartition, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onNewPartition); newPartition->setEnabled(false); newPartition->setText(i18nc("@action:inmenu create a new partition", "New")); newPartition->setToolTip(i18nc("@info:tooltip", "New partition")); @@ -256,7 +266,8 @@ void MainWindow::setupActions() actionCollection()->setDefaultShortcut(newPartition, QKeySequence(Qt::CTRL + Qt::Key_N)); newPartition->setIcon(QIcon::fromTheme(QStringLiteral("document-new")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* resizePartition = actionCollection()->addAction(QStringLiteral("resizePartition"), &pmWidget(), SLOT(onResizePartition())); + QAction* resizePartition = actionCollection()->addAction(QStringLiteral("resizePartition")); + connect(resizePartition, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onResizePartition); resizePartition->setEnabled(false); resizePartition->setText(i18nc("@action:inmenu", "Resize/Move")); resizePartition->setToolTip(i18nc("@info:tooltip", "Resize or move partition")); @@ -264,7 +275,8 @@ void MainWindow::setupActions() actionCollection()->setDefaultShortcut(resizePartition, QKeySequence(Qt::CTRL + Qt::Key_R)); resizePartition->setIcon(QIcon::fromTheme(QStringLiteral("arrow-right-double")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* deletePartition = actionCollection()->addAction(QStringLiteral("deletePartition"), &pmWidget(), SLOT(onDeletePartition())); + QAction* deletePartition = actionCollection()->addAction(QStringLiteral("deletePartition")); + connect(deletePartition, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onDeletePartition); deletePartition->setEnabled(false); deletePartition->setText(i18nc("@action:inmenu", "Delete")); deletePartition->setToolTip(i18nc("@info:tooltip", "Delete partition")); @@ -272,7 +284,8 @@ void MainWindow::setupActions() actionCollection()->setDefaultShortcut(deletePartition, QKeySequence::Delete); deletePartition->setIcon(QIcon::fromTheme(QStringLiteral("edit-delete")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* shredPartition = actionCollection()->addAction(QStringLiteral("shredPartition"), &pmWidget(), SLOT(onShredPartition())); + QAction* shredPartition = actionCollection()->addAction(QStringLiteral("shredPartition")); + connect(shredPartition, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onShredPartition); shredPartition->setEnabled(false); shredPartition->setText(i18nc("@action:inmenu", "Shred")); shredPartition->setToolTip(i18nc("@info:tooltip", "Shred partition")); @@ -280,7 +293,8 @@ void MainWindow::setupActions() actionCollection()->setDefaultShortcut(shredPartition, QKeySequence(Qt::SHIFT + Qt::Key_Delete)); shredPartition->setIcon(QIcon::fromTheme(QStringLiteral("edit-delete-shred")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* copyPartition = actionCollection()->addAction(QStringLiteral("copyPartition"), &pmWidget(), SLOT(onCopyPartition())); + QAction* copyPartition = actionCollection()->addAction(QStringLiteral("copyPartition")); + connect(copyPartition, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onCopyPartition); copyPartition->setEnabled(false); copyPartition->setText(i18nc("@action:inmenu", "Copy")); copyPartition->setToolTip(i18nc("@info:tooltip", "Copy partition")); @@ -288,7 +302,8 @@ void MainWindow::setupActions() actionCollection()->setDefaultShortcut(copyPartition, QKeySequence(Qt::CTRL + Qt::Key_C)); copyPartition->setIcon(QIcon::fromTheme(QStringLiteral("edit-copy")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* pastePartition = actionCollection()->addAction(QStringLiteral("pastePartition"), &pmWidget(), SLOT(onPastePartition())); + QAction* pastePartition = actionCollection()->addAction(QStringLiteral("pastePartition")); + connect(pastePartition, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onPastePartition); pastePartition->setEnabled(false); pastePartition->setText(i18nc("@action:inmenu", "Paste")); pastePartition->setToolTip(i18nc("@info:tooltip", "Paste partition")); @@ -296,46 +311,53 @@ void MainWindow::setupActions() actionCollection()->setDefaultShortcut(pastePartition, QKeySequence(Qt::CTRL + Qt::Key_V)); pastePartition->setIcon(QIcon::fromTheme(QStringLiteral("edit-paste")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* editMountPoint = actionCollection()->addAction(QStringLiteral("editMountPoint"), &pmWidget(), SLOT(onEditMountPoint())); + QAction* editMountPoint = actionCollection()->addAction(QStringLiteral("editMountPoint")); + connect(editMountPoint, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onEditMountPoint); editMountPoint->setEnabled(false); editMountPoint->setText(i18nc("@action:inmenu", "Edit Mount Point")); editMountPoint->setToolTip(i18nc("@info:tooltip", "Edit mount point")); editMountPoint->setStatusTip(i18nc("@info:status", "Edit a partition's mount point and options.")); - QAction* mountPartition = actionCollection()->addAction(QStringLiteral("mountPartition"), &pmWidget(), SLOT(onMountPartition())); + QAction* mountPartition = actionCollection()->addAction(QStringLiteral("mountPartition")); + connect(mountPartition, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onMountPartition); mountPartition->setEnabled(false); mountPartition->setText(i18nc("@action:inmenu", "Mount")); mountPartition->setToolTip(i18nc("@info:tooltip", "Mount or unmount partition")); mountPartition->setStatusTip(i18nc("@info:status", "Mount or unmount a partition.")); - QAction* decryptPartition = actionCollection()->addAction(QStringLiteral("decryptPartition"), &pmWidget(), SLOT(onDecryptPartition())); + QAction* decryptPartition = actionCollection()->addAction(QStringLiteral("decryptPartition")); + connect(decryptPartition, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onDecryptPartition); decryptPartition->setEnabled(false); decryptPartition->setText(i18nc("@action:inmenu", "Unlock")); decryptPartition->setToolTip(i18nc("@info:tooltip", "Unlock or lock encrypted partition")); decryptPartition->setStatusTip(i18nc("@info:status", "Unlock or lock encrypted partition.")); - QAction* checkPartition = actionCollection()->addAction(QStringLiteral("checkPartition"), &pmWidget(), SLOT(onCheckPartition())); + QAction* checkPartition = actionCollection()->addAction(QStringLiteral("checkPartition")); + connect(checkPartition, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onCheckPartition); checkPartition->setEnabled(false); checkPartition->setText(i18nc("@action:inmenu", "Check")); checkPartition->setToolTip(i18nc("@info:tooltip", "Check partition")); checkPartition->setStatusTip(i18nc("@info:status", "Check a filesystem on a partition for errors.")); checkPartition->setIcon(QIcon::fromTheme(QStringLiteral("flag")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* propertiesPartition = actionCollection()->addAction(QStringLiteral("propertiesPartition"), &pmWidget(), SLOT(onPropertiesPartition())); + QAction* propertiesPartition = actionCollection()->addAction(QStringLiteral("propertiesPartition")); + connect(propertiesPartition, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onPropertiesPartition); propertiesPartition->setEnabled(false); propertiesPartition->setText(i18nc("@action:inmenu", "Properties")); propertiesPartition->setToolTip(i18nc("@info:tooltip", "Show partition properties dialog")); propertiesPartition->setStatusTip(i18nc("@info:status", "View and modify partition properties (label, partition flags, etc.)")); propertiesPartition->setIcon(QIcon::fromTheme(QStringLiteral("document-properties")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* backup = actionCollection()->addAction(QStringLiteral("backupPartition"), &pmWidget(), SLOT(onBackupPartition())); + QAction* backup = actionCollection()->addAction(QStringLiteral("backupPartition")); + connect(backup, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onBackupPartition); backup->setEnabled(false); backup->setText(i18nc("@action:inmenu", "Backup")); backup->setToolTip(i18nc("@info:tooltip", "Backup partition")); backup->setStatusTip(i18nc("@info:status", "Backup a partition to an image file.")); backup->setIcon(QIcon::fromTheme(QStringLiteral("document-export")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* restore = actionCollection()->addAction(QStringLiteral("restorePartition"), &pmWidget(), SLOT(onRestorePartition())); + QAction* restore = actionCollection()->addAction(QStringLiteral("restorePartition")); + connect(restore, &QAction::triggered, &pmWidget(), &PartitionManagerWidget::onRestorePartition); restore->setEnabled(false); restore->setText(i18nc("@action:inmenu", "Restore")); restore->setToolTip(i18nc("@info:tooltip", "Restore partition")); @@ -343,7 +365,8 @@ void MainWindow::setupActions() restore->setIcon(QIcon::fromTheme(QStringLiteral("document-import")).pixmap(IconSize(KIconLoader::Toolbar))); // View actions - QAction* fileSystemSupport = actionCollection()->addAction(QStringLiteral("fileSystemSupport"), this, SLOT(onFileSystemSupport())); + QAction* fileSystemSupport = actionCollection()->addAction(QStringLiteral("fileSystemSupport")); + connect(fileSystemSupport, &QAction::triggered, this, &MainWindow::onFileSystemSupport); fileSystemSupport->setText(i18nc("@action:inmenu", "File System Support")); fileSystemSupport->setToolTip(i18nc("@info:tooltip", "View file system support information")); fileSystemSupport->setStatusTip(i18nc("@info:status", "Show information about supported file systems.")); @@ -357,13 +380,15 @@ void MainWindow::setupActions() KStandardAction::preferences(this, SLOT(onConfigureOptions()), actionCollection()); // Log Actions - QAction* clearLog = actionCollection()->addAction(QStringLiteral("clearLog"), &treeLog(), SLOT(onClearLog())); + QAction* clearLog = actionCollection()->addAction(QStringLiteral("clearLog")); + connect(clearLog, &QAction::triggered, &treeLog(), &TreeLog::onClearLog); clearLog->setText(i18nc("@action:inmenu", "Clear Log")); clearLog->setToolTip(i18nc("@info:tooltip", "Clear the log output")); clearLog->setStatusTip(i18nc("@info:status", "Clear the log output panel.")); clearLog->setIcon(QIcon::fromTheme(QStringLiteral("edit-clear-list")).pixmap(IconSize(KIconLoader::Toolbar))); - QAction* saveLog = actionCollection()->addAction(QStringLiteral("saveLog"), &treeLog(), SLOT(onSaveLog())); + QAction* saveLog = actionCollection()->addAction(QStringLiteral("saveLog")); + connect(saveLog, &QAction::triggered, &treeLog(), &TreeLog::onSaveLog); saveLog->setText(i18nc("@action:inmenu", "Save Log")); saveLog->setToolTip(i18nc("@info:tooltip", "Save the log output")); saveLog->setStatusTip(i18nc("@info:status", "Save the log output to a file.")); @@ -372,8 +397,8 @@ void MainWindow::setupActions() void MainWindow::setupConnections() { - connect(&listDevices(), SIGNAL(selectionChanged(const QString&)), &pmWidget(), SLOT(setSelectedDevice(const QString&))); - connect(&listDevices(), SIGNAL(deviceDoubleClicked(const QString&)), SLOT(onPropertiesDevice(const QString&))); + connect(&listDevices(), &ListDevices::selectionChanged, &pmWidget(), static_cast(&PartitionManagerWidget::setSelectedDevice)); + connect(&listDevices(), &ListDevices::deviceDoubleClicked, this, &MainWindow::onPropertiesDevice); } void MainWindow::setupStatusBar() @@ -1041,6 +1066,11 @@ void MainWindow::onSmartStatusDevice() } } +void MainWindow::onPropertiesDevice2() +{ + onPropertiesDevice({}); +} + void MainWindow::onPropertiesDevice(const QString&) { Q_ASSERT(pmWidget().selectedDevice()); diff --git a/src/gui/mainwindow.h b/src/gui/mainwindow.h index b269b04..82e13e7 100644 --- a/src/gui/mainwindow.h +++ b/src/gui/mainwindow.h @@ -252,7 +252,8 @@ protected Q_SLOTS: void onFileSystemSupport(); void onSmartStatusDevice(); - void onPropertiesDevice(const QString& device_node = QString()); + void onPropertiesDevice2(); + void onPropertiesDevice(const QString& deviceNode = {}); private: OperationStack* m_OperationStack; diff --git a/src/gui/newdialog.cpp b/src/gui/newdialog.cpp index 0292bf4..4231793 100644 --- a/src/gui/newdialog.cpp +++ b/src/gui/newdialog.cpp @@ -115,12 +115,12 @@ void NewDialog::setupDialog() void NewDialog::setupConnections() { - connect(&dialogWidget().radioPrimary(), SIGNAL(toggled(bool)), SLOT(onRoleChanged(bool))); - connect(&dialogWidget().radioExtended(), SIGNAL(toggled(bool)), SLOT(onRoleChanged(bool))); - connect(&dialogWidget().radioLogical(), SIGNAL(toggled(bool)), SLOT(onRoleChanged(bool))); - connect(&dialogWidget().checkBoxEncrypt(), SIGNAL(toggled(bool)), SLOT(onRoleChanged(bool))); - connect(&dialogWidget().comboFileSystem(), SIGNAL(currentIndexChanged(int)), SLOT(onFilesystemChanged(int))); - connect(&dialogWidget().label(), SIGNAL(textChanged(const QString&)), SLOT(onLabelChanged(const QString&))); + connect(&dialogWidget().radioPrimary(), &QRadioButton::toggled, this, &NewDialog::onRoleChanged); + connect(&dialogWidget().radioExtended(), &QRadioButton::toggled, this, &NewDialog::onRoleChanged); + connect(&dialogWidget().radioLogical(), &QRadioButton::toggled, this, &NewDialog::onRoleChanged); + connect(&dialogWidget().checkBoxEncrypt(), &QCheckBox::toggled, this, &NewDialog::onRoleChanged); + connect(&dialogWidget().comboFileSystem(), static_cast(&QComboBox::currentIndexChanged), this, &NewDialog::onFilesystemChanged); + connect(&dialogWidget().label(), &QLineEdit::textChanged, this, &NewDialog::onLabelChanged); SizeDialogBase::setupConnections(); } diff --git a/src/gui/newdialog.h b/src/gui/newdialog.h index 5126517..ad49841 100644 --- a/src/gui/newdialog.h +++ b/src/gui/newdialog.h @@ -35,19 +35,16 @@ class Device; */ class NewDialog : public SizeDialogBase { - Q_OBJECT - public: NewDialog(QWidget* parent, Device& device, Partition& unallocatedPartition, PartitionRole::Roles r); ~NewDialog(); -protected Q_SLOTS: +protected: void accept() override; void onRoleChanged(bool); void onFilesystemChanged(int); void onLabelChanged(const QString& newLabel); -protected: void setupConnections() override; void setupDialog() override; void slotPasswordStatusChanged(); diff --git a/src/gui/partitionmanagerwidget.h b/src/gui/partitionmanagerwidget.h index 778526e..28926d3 100644 --- a/src/gui/partitionmanagerwidget.h +++ b/src/gui/partitionmanagerwidget.h @@ -54,7 +54,7 @@ Q_SIGNALS: void deviceDoubleClicked(const Device*); void partitionDoubleClicked(const Partition* p); -public Q_SLOTS: +public: void setSelectedDevice(Device* d); void setSelectedDevice(const QString& device_node); @@ -77,7 +77,6 @@ public Q_SLOTS: void onPropertiesPartition(); -public: void init(OperationStack* ostack); void clear(); diff --git a/src/gui/partpropsdialog.cpp b/src/gui/partpropsdialog.cpp index b0e29d5..259e4f0 100644 --- a/src/gui/partpropsdialog.cpp +++ b/src/gui/partpropsdialog.cpp @@ -255,20 +255,20 @@ void PartPropsDialog::updateHideAndShow() void PartPropsDialog::setupConnections() { - connect(&dialogWidget().label(), SIGNAL(textEdited(const QString&)), SLOT(setDirty())); - connect(&dialogWidget().fileSystem(), SIGNAL(currentIndexChanged(int)), SLOT(onFilesystemChanged(int))); - connect(&dialogWidget().checkRecreate(), SIGNAL(stateChanged(int)), SLOT(onRecreate(int))); + connect(&dialogWidget().label(), &QLineEdit::textEdited, this, &PartPropsDialog::setDirty2); + connect(&dialogWidget().fileSystem(), static_cast(&QComboBox::currentIndexChanged), this, &PartPropsDialog::onFilesystemChanged); + connect(&dialogWidget().checkRecreate(), &QCheckBox::stateChanged, this, &PartPropsDialog::onRecreate); // We want to enable the OK-button whenever the user checks or unchecks a flag in the flag list. // But it seems Qt doesn't offer a foolproof way to detect if this has happened: The currentRow/ItemChanged // signal only means the _current_ item has changed, but not necessarily that it was checked/unchecked. And // itemClicked alone isn't enough either. We choose to rather enable the OK-button too often than too // seldom. - connect(&dialogWidget().listFlags(), SIGNAL(itemClicked(QListWidgetItem*)), SLOT(setDirty())); - connect(&dialogWidget().listFlags(), SIGNAL(currentRowChanged(int)), SLOT(setDirty())); + connect(&dialogWidget().listFlags(), &QListWidget::itemClicked, this, &PartPropsDialog::setDirty); + connect(&dialogWidget().listFlags(), &QListWidget::currentRowChanged, this, &PartPropsDialog::setDirty3); } -void PartPropsDialog::setDirty() +void PartPropsDialog::setDirty(void*) { okButton->setEnabled(true); okButton->setDefault(true); @@ -347,7 +347,7 @@ void PartPropsDialog::onFilesystemChanged(int) } else { dialogWidget().fileSystem().disconnect(this); setupFileSystemComboBox(); - connect(&dialogWidget().fileSystem(), SIGNAL(currentIndexChanged(int)), SLOT(onFilesystemChanged(int))); + connect(&dialogWidget().fileSystem(), static_cast(&QComboBox::currentIndexChanged), this, &PartPropsDialog::onFilesystemChanged); } } diff --git a/src/gui/partpropsdialog.h b/src/gui/partpropsdialog.h index 017cc9a..9fb2c4c 100644 --- a/src/gui/partpropsdialog.h +++ b/src/gui/partpropsdialog.h @@ -45,7 +45,6 @@ class QString; */ class PartPropsDialog : public QDialog { - Q_OBJECT Q_DISABLE_COPY(PartPropsDialog) public: @@ -106,8 +105,10 @@ protected: void updatePartitionFileSystem(); -protected Q_SLOTS: - void setDirty(); +protected: + void setDirty(void *unused = nullptr); + void setDirty2(QString) {setDirty();}; + void setDirty3(int) {setDirty();}; void onFilesystemChanged(int idx); void onRecreate(int); diff --git a/src/gui/resizedialog.h b/src/gui/resizedialog.h index 5746f41..a459a8c 100644 --- a/src/gui/resizedialog.h +++ b/src/gui/resizedialog.h @@ -32,8 +32,6 @@ class Device; */ class ResizeDialog : public SizeDialogBase { - Q_OBJECT - public: ResizeDialog(QWidget* parent, Device& device, Partition& p, qint64 minFirst, qint64 maxLast); ~ResizeDialog(); @@ -47,7 +45,6 @@ public: return m_ResizedLastSector; } -public Q_SLOTS: void accept() override; void reject() override; diff --git a/src/gui/scanprogressdialog.h b/src/gui/scanprogressdialog.h index a87d2cf..e94a166 100644 --- a/src/gui/scanprogressdialog.h +++ b/src/gui/scanprogressdialog.h @@ -25,19 +25,17 @@ class QShowEvent; class ScanProgressDialog : public QProgressDialog { - Q_OBJECT - public: ScanProgressDialog(QWidget* parent); -protected: - void showEvent(QShowEvent* e) override; - -public: void setProgress(quint32 p) { setValue(p); } void setDeviceName(const QString& d); + +protected: + void showEvent(QShowEvent* e) override; + }; #endif diff --git a/src/gui/sizedetailswidget.h b/src/gui/sizedetailswidget.h index a06310a..f809037 100644 --- a/src/gui/sizedetailswidget.h +++ b/src/gui/sizedetailswidget.h @@ -28,8 +28,6 @@ */ class SizeDetailsWidget : public QWidget, public Ui::SizeDetailsWidgetBase { - Q_OBJECT - public: SizeDetailsWidget(QWidget* parent); diff --git a/src/gui/sizedialogbase.cpp b/src/gui/sizedialogbase.cpp index aefb137..ba95598 100644 --- a/src/gui/sizedialogbase.cpp +++ b/src/gui/sizedialogbase.cpp @@ -143,16 +143,16 @@ void SizeDialogBase::setupConstraints() void SizeDialogBase::setupConnections() { - connect(&dialogWidget().partResizerWidget(), SIGNAL(firstSectorChanged(qint64)), SLOT(onResizerWidgetFirstSectorChanged(qint64))); - connect(&dialogWidget().partResizerWidget(), SIGNAL(lastSectorChanged(qint64)), SLOT(onResizerWidgetLastSectorChanged(qint64))); + connect(&dialogWidget().partResizerWidget(), &PartResizerWidget::firstSectorChanged, this, &SizeDialogBase::onResizerWidgetFirstSectorChanged); + connect(&dialogWidget().partResizerWidget(), &PartResizerWidget::lastSectorChanged, this, &SizeDialogBase::onResizerWidgetLastSectorChanged); - connect(&dialogWidget().spinFreeBefore(), SIGNAL(valueChanged(double)), SLOT(onSpinFreeBeforeChanged(double))); - connect(&dialogWidget().spinFreeAfter(), SIGNAL(valueChanged(double)), SLOT(onSpinFreeAfterChanged(double))); - connect(&dialogWidget().spinCapacity(), SIGNAL(valueChanged(double)), SLOT(onSpinCapacityChanged(double))); + connect(&dialogWidget().spinFreeBefore(), static_cast(&QDoubleSpinBox::valueChanged), this, &SizeDialogBase::onSpinFreeBeforeChanged); + connect(&dialogWidget().spinFreeAfter(), static_cast(&QDoubleSpinBox::valueChanged), this, &SizeDialogBase::onSpinFreeAfterChanged); + connect(&dialogWidget().spinCapacity(), static_cast(&QDoubleSpinBox::valueChanged), this, &SizeDialogBase::onSpinCapacityChanged); - connect(&detailsWidget().spinFirstSector(), SIGNAL(valueChanged(double)), SLOT(onSpinFirstSectorChanged(double))); - connect(&detailsWidget().spinLastSector(), SIGNAL(valueChanged(double)), SLOT(onSpinLastSectorChanged(double))); - connect(&detailsWidget().checkAlign(), SIGNAL(toggled(bool)), SLOT(onAlignToggled(bool))); + connect(&detailsWidget().spinFirstSector(), static_cast(&QDoubleSpinBox::valueChanged), this, &SizeDialogBase::onSpinFirstSectorChanged); + connect(&detailsWidget().spinLastSector(), static_cast(&QDoubleSpinBox::valueChanged), this, &SizeDialogBase::onSpinLastSectorChanged); + connect(&detailsWidget().checkAlign(), &QCheckBox::toggled, this, &SizeDialogBase::onAlignToggled); } void SizeDialogBase::toggleDetails() diff --git a/src/gui/sizedialogbase.h b/src/gui/sizedialogbase.h index bf61826..1129418 100644 --- a/src/gui/sizedialogbase.h +++ b/src/gui/sizedialogbase.h @@ -37,7 +37,6 @@ class SizeDetailsWidget; */ class SizeDialogBase : public QDialog { - Q_OBJECT Q_DISABLE_COPY(SizeDialogBase) protected: @@ -115,7 +114,7 @@ protected: m_MaximumLength = s; } -protected Q_SLOTS: +protected: void onResizerWidgetFirstSectorChanged(qint64 newFirst); void onResizerWidgetLastSectorChanged(qint64 newLast); @@ -127,7 +126,6 @@ protected Q_SLOTS: void onSpinLastSectorChanged(double newLast); void onAlignToggled(bool); -protected: void toggleDetails(); SizeDialogWidget* m_SizeDialogWidget; diff --git a/src/gui/sizedialogwidget.h b/src/gui/sizedialogwidget.h index dca8d8e..f3fc81f 100644 --- a/src/gui/sizedialogwidget.h +++ b/src/gui/sizedialogwidget.h @@ -29,8 +29,6 @@ */ class SizeDialogWidget : public QWidget, public Ui::SizeDialogWidgetBase { - Q_OBJECT - public: SizeDialogWidget(QWidget* parent) : QWidget(parent), Ui::SizeDialogWidgetBase() { setupUi(this); diff --git a/src/gui/treelog.h b/src/gui/treelog.h index ef09d64..4c69cba 100644 --- a/src/gui/treelog.h +++ b/src/gui/treelog.h @@ -46,12 +46,11 @@ public: void init(); void onNewLogMessage(Log::Level logLevel, const QString& s); -protected Q_SLOTS: void onClearLog(); void onSaveLog(); - void on_m_TreeLog_customContextMenuRequested(const QPoint& pos); protected: + void on_m_TreeLog_customContextMenuRequested(const QPoint& pos); void onHeaderContextMenu(const QPoint& pos); QTreeWidget& treeLog() {