aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/dialog/libkvidialog.cpp
diff options
context:
space:
mode:
authorGravatar ctrlaltca2024-03-24 11:39:46 +0100
committerGravatar GitHub2024-03-24 11:39:46 +0100
commite68e34095057a9d7d7aedbaf8ad9773913aa4794 (patch)
treed4953cef4477a68cacf76259a129653f2f080da8 /src/modules/dialog/libkvidialog.cpp
parentFix Wayland appId (#2621) (diff)
downloadKVIrc-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.cpp65
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;