diff options
| author | 2024-03-24 11:39:46 +0100 | |
|---|---|---|
| committer | 2024-03-24 11:39:46 +0100 | |
| commit | e68e34095057a9d7d7aedbaf8ad9773913aa4794 (patch) | |
| tree | d4953cef4477a68cacf76259a129653f2f080da8 /src/modules/dialog/libkvidialog.cpp | |
| parent | Fix Wayland appId (#2621) (diff) | |
| download | KVIrc-e68e34095057a9d7d7aedbaf8ad9773913aa4794.tar.gz KVIrc-e68e34095057a9d7d7aedbaf8ad9773913aa4794.tar.bz2 KVIrc-e68e34095057a9d7d7aedbaf8ad9773913aa4794.zip | |
More qt6 porting (#2622)
* Port QColor::setNamedColor to QColor::fromString
* Port from QVariant::Type to QmetaType::Type
* KviCoreActions: port from QAction::parentWidget to qobject_cast + QAction::parent
* KviIrcView: port QString::fromUtf16 usage to the non-obsolete char16_t* overload
* KviTopicWidget: port QMouseEvent to a non-obsolete overload
* Port QMouseEvent from old pos(), x(), y(), to position()
* Port obsolete QMessageBox usage to custom buttons
* KviApplication: initialize the dbus notify message "replace ID" to 0
* KviIrcConnection: port deprecated QString::count() to QString::size()
* KvsObject_*: port QColor::setNamedColor to QColor::fromString
* KvsObject_widget: port QWidget::isTopLevel to QWidget::isWindow
* KviMainWindow: use QKeyCombination instead of int for shortcuts
* QHttp: avoid deprecated methods for QCryptographicHash
* ScriptEditorWidget: use the new signature for QMenu::addAction()
* KviInputEditor: Extract ACCEL_KEY from header and avoid warning
* KviStringConversion: convert old Qt5 font weights to new "css" font weights
* syntax fix
Diffstat (limited to 'src/modules/dialog/libkvidialog.cpp')
| -rw-r--r-- | src/modules/dialog/libkvidialog.cpp | 65 |
1 files changed, 30 insertions, 35 deletions
diff --git a/src/modules/dialog/libkvidialog.cpp b/src/modules/dialog/libkvidialog.cpp index 5002fff24..67ef91faf 100644 --- a/src/modules/dialog/libkvidialog.cpp +++ b/src/modules/dialog/libkvidialog.cpp @@ -67,32 +67,29 @@ KviKvsCallbackMessageBox::KviKvsCallbackMessageBox( setText(szText); setIcon(QMessageBox::NoIcon); setModal(modal); - QMessageBox::StandardButtons buttons; - bool btn = false; + + m_pYesButton = nullptr; + m_pNoButton = nullptr; + m_pCancelButton = nullptr; if(!szButton0.isEmpty()) { - btn = true; - buttons = QMessageBox::Yes; + m_pYesButton = addButton(szButton0, QMessageBox::YesRole); } if(!szButton1.isEmpty()) { - btn = true; - buttons |= QMessageBox::No; + m_pNoButton = addButton(szButton1, QMessageBox::NoRole); + setEscapeButton(m_pNoButton); } if(!szButton2.isEmpty()) { - btn = true; - buttons |= QMessageBox::Cancel; + m_pCancelButton = addButton(szButton2, QMessageBox::RejectRole); + setEscapeButton(m_pCancelButton); } - if(!btn) - buttons = QMessageBox::Ok; - setStandardButtons(buttons); - setDefaultButton(QMessageBox::Yes); - if(szButton2.isEmpty()) - setEscapeButton(QMessageBox::No); - else - setEscapeButton(QMessageBox::Cancel); + if(m_pYesButton == nullptr && m_pNoButton == nullptr && m_pCancelButton == nullptr) + { + m_pYesButton = addButton("Ok", QMessageBox::YesRole); + } g_pDialogModuleDialogList->append(this); @@ -109,12 +106,6 @@ KviKvsCallbackMessageBox::KviKvsCallbackMessageBox( else if(KviQString::equalCI(szIcon, "critical")) setIcon(QMessageBox::Critical); } - if(!szButton0.isEmpty()) - setButtonText(QMessageBox::Yes, szButton0); - if(!szButton1.isEmpty()) - setButtonText(QMessageBox::No, szButton1); - if(!szButton2.isEmpty()) - setButtonText(QMessageBox::Cancel, szButton2); } KviKvsCallbackMessageBox::~KviKvsCallbackMessageBox() @@ -128,21 +119,25 @@ void KviKvsCallbackMessageBox::done(int code) kvs_int_t iVal = 0; - switch(code) + if(clickedButton() == m_pYesButton) { - case QMessageBox::No: - iVal = 1; - break; - case QMessageBox::Cancel: + iVal = 0; + } + else if(clickedButton() == m_pNoButton) + { + iVal = 1; + } + else if(clickedButton() == m_pCancelButton) + { + iVal = 2; + } + else + { + // user closed the dialog, fake an "escape button" press + if(m_pCancelButton != nullptr) iVal = 2; - break; - case 0: - // user closed the dialog, fake an "escape button" press - if(standardButtons() & QMessageBox::Cancel) - iVal = 2; - else - iVal = 1; - break; + else + iVal = 1; } KviKvsVariantList params; |
