mirror of
https://github.com/wxWidgets/wxWidgets.git
synced 2026-09-22 06:05:36 +08:00
Avoid some simple to fix deprecation warnings with Qt 5.14
Replace the deprecated functions with the new equivalents when this doesn't really change the code semantics. Also add new compat.h private header where more functions like wxQtGetWidthFromMetrics() can be added in the future. There are still quite a few of deprecation warnings requiring more changes remaining.
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/qt/private/compat.h
|
||||
// Purpose: Helpers for dealing with various Qt versions
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2022-10-21
|
||||
// Copyright: (c) 2022 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_QT_PRIVATE_COMPAT_H_
|
||||
#define _WX_QT_PRIVATE_COMPAT_H_
|
||||
|
||||
#include <QtGui/QFontMetrics>
|
||||
|
||||
// Hide the difference in name of QFontMetrics::width() in various Qt versions.
|
||||
inline int
|
||||
wxQtGetWidthFromMetrics(const QFontMetrics& metrics, const QString& string)
|
||||
{
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0))
|
||||
return metrics.horizontalAdvance( string );
|
||||
#else
|
||||
return metrics.width( string );
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif // _WX_QT_PRIVATE_COMPAT_H_
|
||||
+1
-1
@@ -212,7 +212,7 @@ wxBitmap::wxBitmap(const wxString &filename, wxBitmapType type )
|
||||
|
||||
void wxBitmap::InitFromImage(const wxImage& image, int depth, double WXUNUSED(scale) )
|
||||
{
|
||||
Qt::ImageConversionFlags flags = nullptr;
|
||||
Qt::ImageConversionFlags flags;
|
||||
if (depth == 1)
|
||||
flags = Qt::MonoOnly;
|
||||
m_refData = new wxBitmapRefData(QPixmap::fromImage(ConvertImage(image), flags));
|
||||
|
||||
+1
-1
@@ -232,7 +232,7 @@ int wxChoice::DoInsertOneItem(const wxString& item, unsigned int pos)
|
||||
|
||||
void wxChoice::DoSetItemClientData(unsigned int n, void *clientData)
|
||||
{
|
||||
QVariant variant = qVariantFromValue(clientData);
|
||||
QVariant variant = QVariant::fromValue(clientData);
|
||||
m_qtComboBox->setItemData(n, variant);
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -23,6 +23,7 @@
|
||||
#include "wx/qt/dc.h"
|
||||
#include "wx/qt/private/converter.h"
|
||||
#include "wx/qt/private/utils.h"
|
||||
#include "wx/qt/private/compat.h"
|
||||
|
||||
#include <QtGui/QScreen>
|
||||
#include <QtWidgets/QApplication>
|
||||
@@ -383,7 +384,7 @@ void wxQtDCImpl::DoGetTextExtent(const wxString& string,
|
||||
{
|
||||
// note that boundingRect doesn't return "advance width" for spaces
|
||||
if (x != nullptr)
|
||||
*x = metrics.width( wxQtConvertString(string) );
|
||||
*x = wxQtGetWidthFromMetrics(metrics, wxQtConvertString(string));
|
||||
if (y != nullptr)
|
||||
*y = metrics.height();
|
||||
}
|
||||
|
||||
+3
-3
@@ -245,7 +245,7 @@ void wxListBox::DoSetSelection(int n, bool select)
|
||||
return;
|
||||
}
|
||||
|
||||
m_qtListWidget->setItemSelected( m_qtListWidget->item(n), select);
|
||||
m_qtListWidget->item(n)->setSelected(select);
|
||||
}
|
||||
|
||||
int wxListBox::DoInsertItems(const wxArrayStringsAdapter & items,
|
||||
@@ -275,7 +275,7 @@ int wxListBox::DoInsertOneItem(const wxString& text, unsigned int pos)
|
||||
void wxListBox::DoSetItemClientData(unsigned int n, void *clientData)
|
||||
{
|
||||
QListWidgetItem* item = m_qtListWidget->item(n);
|
||||
QVariant variant = qVariantFromValue(clientData);
|
||||
QVariant variant = QVariant::fromValue(clientData);
|
||||
item->setData(Qt::UserRole, variant);
|
||||
}
|
||||
|
||||
@@ -316,6 +316,6 @@ void wxListBox::UnSelectAll()
|
||||
{
|
||||
Q_FOREACH(QListWidgetItem* l, m_qtListWidget->selectedItems())
|
||||
{
|
||||
m_qtListWidget->setItemSelected( l, false );
|
||||
l->setSelected(false);
|
||||
}
|
||||
}
|
||||
|
||||
+8
-3
@@ -334,8 +334,8 @@ wxRegionIterator::wxRegionIterator()
|
||||
|
||||
wxRegionIterator::wxRegionIterator(const wxRegion& region)
|
||||
{
|
||||
m_qtRects = new QVector< QRect >( region.GetHandle().rects() );
|
||||
m_pos = 0;
|
||||
m_qtRects = nullptr;
|
||||
Reset(region);
|
||||
}
|
||||
|
||||
wxRegionIterator::wxRegionIterator(const wxRegionIterator& ri)
|
||||
@@ -369,7 +369,12 @@ void wxRegionIterator::Reset(const wxRegion& region)
|
||||
{
|
||||
delete m_qtRects;
|
||||
|
||||
m_qtRects = new QVector< QRect >( region.GetHandle().rects() );
|
||||
auto qtRegion = region.GetHandle();
|
||||
m_qtRects = new QVector< QRect >();
|
||||
m_qtRects->reserve(qtRegion.rectCount());
|
||||
for (const auto& r : qtRegion)
|
||||
m_qtRects->push_back(r);
|
||||
|
||||
m_pos = 0;
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -671,7 +671,7 @@ wxColour wxTreeCtrl::GetItemTextColour(const wxTreeItemId& item) const
|
||||
wxCHECK_MSG(item.IsOk(), wxNullColour, "invalid tree item");
|
||||
|
||||
const QTreeWidgetItem* qTreeItem = wxQtConvertTreeItem(item);
|
||||
return wxQtConvertColour(qTreeItem->textColor(0));
|
||||
return wxQtConvertColour(qTreeItem->foreground(0).color());
|
||||
}
|
||||
|
||||
wxColour wxTreeCtrl::GetItemBackgroundColour(const wxTreeItemId& item) const
|
||||
@@ -679,7 +679,7 @@ wxColour wxTreeCtrl::GetItemBackgroundColour(const wxTreeItemId& item) const
|
||||
wxCHECK_MSG(item.IsOk(), wxNullColour, "invalid tree item");
|
||||
|
||||
const QTreeWidgetItem* qTreeItem = wxQtConvertTreeItem(item);
|
||||
return wxQtConvertColour(qTreeItem->backgroundColor(0));
|
||||
return wxQtConvertColour(qTreeItem->background(0).color());
|
||||
}
|
||||
|
||||
wxFont wxTreeCtrl::GetItemFont(const wxTreeItemId& item) const
|
||||
@@ -760,8 +760,8 @@ void wxTreeCtrl::SetItemDropHighlight(const wxTreeItemId& item, bool highlight)
|
||||
fg = GetForegroundColour();
|
||||
}
|
||||
|
||||
qTreeItem->setBackgroundColor(0, wxQtConvertColour(bg));
|
||||
qTreeItem->setTextColor(0, wxQtConvertColour(fg));
|
||||
qTreeItem->setBackground(0, wxQtConvertColour(bg));
|
||||
qTreeItem->setForeground(0, wxQtConvertColour(fg));
|
||||
}
|
||||
|
||||
void wxTreeCtrl::SetItemTextColour(
|
||||
@@ -772,7 +772,7 @@ void wxTreeCtrl::SetItemTextColour(
|
||||
wxCHECK_RET(item.IsOk(), "invalid tree item");
|
||||
|
||||
QTreeWidgetItem *qTreeItem = wxQtConvertTreeItem(item);
|
||||
qTreeItem->setTextColor(0, wxQtConvertColour(col));
|
||||
qTreeItem->setForeground(0, wxQtConvertColour(col));
|
||||
}
|
||||
|
||||
void wxTreeCtrl::SetItemBackgroundColour(
|
||||
@@ -783,7 +783,7 @@ void wxTreeCtrl::SetItemBackgroundColour(
|
||||
wxCHECK_RET(item.IsOk(), "invalid tree item");
|
||||
|
||||
QTreeWidgetItem *qTreeItem = wxQtConvertTreeItem(item);
|
||||
qTreeItem->setBackgroundColor(0, wxQtConvertColour(col));
|
||||
qTreeItem->setBackground(0, wxQtConvertColour(col));
|
||||
}
|
||||
|
||||
void wxTreeCtrl::SetItemFont(const wxTreeItemId& item, const wxFont& font)
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ void wxQtFillMouseButtons( Qt::MouseButtons buttons, wxMouseState *state )
|
||||
{
|
||||
state->SetLeftDown( buttons.testFlag( Qt::LeftButton ) );
|
||||
state->SetRightDown( buttons.testFlag( Qt::RightButton ) );
|
||||
state->SetMiddleDown( buttons.testFlag( Qt::MidButton ) );
|
||||
state->SetMiddleDown( buttons.testFlag( Qt::MiddleButton ) );
|
||||
state->SetAux1Down( buttons.testFlag( Qt::XButton1 ) );
|
||||
state->SetAux2Down( buttons.testFlag( Qt::XButton2 ) );
|
||||
}
|
||||
|
||||
+14
-8
@@ -32,6 +32,7 @@
|
||||
#include "wx/tooltip.h"
|
||||
#include "wx/qt/private/utils.h"
|
||||
#include "wx/qt/private/converter.h"
|
||||
#include "wx/qt/private/compat.h"
|
||||
#include "wx/qt/private/winevent.h"
|
||||
|
||||
#define VERT_SCROLLBAR_POSITION 0, 1
|
||||
@@ -224,7 +225,7 @@ static const char WINDOW_POINTER_PROPERTY_NAME[] = "wxWindowPointer";
|
||||
/* static */ void wxWindowQt::QtStoreWindowPointer( QWidget *widget, const wxWindowQt *window )
|
||||
{
|
||||
QVariant variant;
|
||||
qVariantSetValue( variant, window );
|
||||
variant.setValue( window );
|
||||
widget->setProperty( WINDOW_POINTER_PROPERTY_NAME, variant );
|
||||
}
|
||||
|
||||
@@ -413,8 +414,8 @@ void wxWindowQt::PostCreation(bool generic)
|
||||
//
|
||||
|
||||
// Set the default color so Paint Event default handler clears the DC:
|
||||
wxWindowBase::SetBackgroundColour(wxColour(GetHandle()->palette().background().color()));
|
||||
wxWindowBase::SetForegroundColour(wxColour(GetHandle()->palette().foreground().color()));
|
||||
wxWindowBase::SetBackgroundColour(wxColour(GetHandle()->palette().window().color()));
|
||||
wxWindowBase::SetForegroundColour(wxColour(GetHandle()->palette().windowText().color()));
|
||||
|
||||
GetHandle()->setFont( wxWindowBase::GetFont().GetHandle() );
|
||||
|
||||
@@ -614,7 +615,7 @@ void wxWindowQt::DoGetTextExtent(const wxString& string, int *x, int *y, int *de
|
||||
QFontMetrics fontMetrics( font != nullptr ? font->GetHandle() : GetHandle()->font() );
|
||||
|
||||
if ( x != nullptr )
|
||||
*x = fontMetrics.width( wxQtConvertString( string ));
|
||||
*x = wxQtGetWidthFromMetrics(fontMetrics, wxQtConvertString( string ));
|
||||
|
||||
if ( y != nullptr )
|
||||
*y = fontMetrics.height();
|
||||
@@ -1341,7 +1342,12 @@ bool wxWindowQt::QtHandleResizeEvent ( QWidget *WXUNUSED( handler ), QResizeEven
|
||||
bool wxWindowQt::QtHandleWheelEvent ( QWidget *WXUNUSED( handler ), QWheelEvent *event )
|
||||
{
|
||||
wxMouseEvent e( wxEVT_MOUSEWHEEL );
|
||||
e.SetPosition( wxQtConvertPoint( event->pos() ) );
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0))
|
||||
QPoint qPt = event->position().toPoint();
|
||||
#else
|
||||
QPoint qPt = event->pos();
|
||||
#endif
|
||||
e.SetPosition( wxQtConvertPoint( qPt ) );
|
||||
e.SetEventObject(this);
|
||||
|
||||
e.m_wheelAxis = ( event->orientation() == Qt::Vertical ) ? wxMOUSE_WHEEL_VERTICAL : wxMOUSE_WHEEL_HORIZONTAL;
|
||||
@@ -1451,7 +1457,7 @@ bool wxWindowQt::QtHandleMouseEvent ( QWidget *handler, QMouseEvent *event )
|
||||
case Qt::RightButton:
|
||||
wxType = wxEVT_RIGHT_DCLICK;
|
||||
break;
|
||||
case Qt::MidButton:
|
||||
case Qt::MiddleButton:
|
||||
wxType = wxEVT_MIDDLE_DCLICK;
|
||||
break;
|
||||
case Qt::XButton1:
|
||||
@@ -1475,7 +1481,7 @@ bool wxWindowQt::QtHandleMouseEvent ( QWidget *handler, QMouseEvent *event )
|
||||
case Qt::RightButton:
|
||||
wxType = wxEVT_RIGHT_DOWN;
|
||||
break;
|
||||
case Qt::MidButton:
|
||||
case Qt::MiddleButton:
|
||||
wxType = wxEVT_MIDDLE_DOWN;
|
||||
break;
|
||||
case Qt::XButton1:
|
||||
@@ -1499,7 +1505,7 @@ bool wxWindowQt::QtHandleMouseEvent ( QWidget *handler, QMouseEvent *event )
|
||||
case Qt::RightButton:
|
||||
wxType = wxEVT_RIGHT_UP;
|
||||
break;
|
||||
case Qt::MidButton:
|
||||
case Qt::MiddleButton:
|
||||
wxType = wxEVT_MIDDLE_UP;
|
||||
break;
|
||||
case Qt::XButton1:
|
||||
|
||||
Reference in New Issue
Block a user