[vlc-devel] [PATCH] qt: qvlcframe: move functions to source file

Alexandre Janniaux ajanni at videolabs.io
Tue Oct 15 14:16:04 CEST 2019


Hi, ping for the patch,

Regards,
--
Alexandre Janniaux
Videolabs

On Tue, Oct 08, 2019 at 09:18:50PM +0200, Alexandre Janniaux wrote:
> The file is included almost everywhere and has deprecation warnings.
> In addition, it prepares future refactoring of these utility class.
> ---
>  modules/gui/qt/Makefile.am        |  1 +
>  modules/gui/qt/util/qvlcframe.cpp | 91 +++++++++++++++++++++++++++++++
>  modules/gui/qt/util/qvlcframe.hpp | 67 +++--------------------
>  3 files changed, 99 insertions(+), 60 deletions(-)
>  create mode 100644 modules/gui/qt/util/qvlcframe.cpp
>
> diff --git a/modules/gui/qt/Makefile.am b/modules/gui/qt/Makefile.am
> index af4a5d05cc..78b8d965e4 100644
> --- a/modules/gui/qt/Makefile.am
> +++ b/modules/gui/qt/Makefile.am
> @@ -194,6 +194,7 @@ libqt_plugin_la_SOURCES = \
>  	gui/qt/util/buttons/DeckButtonsLayout.hpp \
>  	gui/qt/util/buttons/RoundButton.cpp \
>  	gui/qt/util/buttons/RoundButton.hpp \
> +	gui/qt/util/qvlcframe.cpp \
>  	gui/qt/util/qvlcframe.hpp \
>  	gui/qt/util/qvlcapp.hpp \
>  	gui/qt/util/qmleventfilter.cpp \
> diff --git a/modules/gui/qt/util/qvlcframe.cpp b/modules/gui/qt/util/qvlcframe.cpp
> new file mode 100644
> index 0000000000..690f82f8f9
> --- /dev/null
> +++ b/modules/gui/qt/util/qvlcframe.cpp
> @@ -0,0 +1,91 @@
> +/*****************************************************************************
> + * qvlcframe.cpp : A few helpers
> + *****************************************************************************
> + * Copyright (C) 2006-2007 the VideoLAN team
> + *
> + * Authors: Clément Stenac <zorglub at videolan.org>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
> + *****************************************************************************/
> +
> +#include "qvlcframe.hpp"
> +
> +void QVLCTools::saveWidgetPosition(QSettings *settings, QWidget *widget)
> +{
> +    settings->setValue("geometry", widget->saveGeometry());
> +}
> +
> +void QVLCTools::saveWidgetPosition(intf_thread_t *p_intf,
> +                                   const QString& configName,
> +                                   QWidget *widget)
> +{
> +    getSettings()->beginGroup(configName);
> +    QVLCTools::saveWidgetPosition(getSettings(), widget);
> +    getSettings()->endGroup();
> +}
> +
> +bool QVLCTools::restoreWidgetPosition(QSettings *settings, QWidget *widget,
> +                                      QSize defSize, QPoint defPos)
> +{
> +    if (!widget->restoreGeometry(settings->value("geometry").toByteArray()))
> +    {
> +        widget->move(defPos);
> +        widget->resize(defSize);
> +
> +        if (defPos.x() == 0 && defPos.y()==0)
> +            widget->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, widget->size(), qApp->desktop()->availableGeometry()));
> +        return true;
> +    }
> +    return false;
> +}
> +
> +bool QVLCTools::restoreWidgetPosition(intf_thread_t *p_intf,
> +                                      const QString& configName,
> +                                      QWidget *widget, QSize defSize,
> +                                      QPoint defPos)
> +{
> +    getSettings()->beginGroup(configName);
> +    bool defaultUsed =
> +        QVLCTools::restoreWidgetPosition(getSettings(), widget, defSize, defPos);
> +    getSettings()->endGroup();
> +
> +    return defaultUsed;
> +}
> +
> +void QVLCFrame::keyPressEvent(QKeyEvent *keyEvent)
> +{
> +    if (keyEvent->key() == Qt::Key_Escape)
> +    {
> +        this->cancel();
> +    }
> +    else if (keyEvent->key() == Qt::Key_Return ||
> +             keyEvent->key() == Qt::Key_Enter)
> +    {
> +        this->close();
> +    }
> +}
> +
> +void QVLCDialog::keyPressEvent(QKeyEvent *keyEvent)
> +{
> +    if (keyEvent->key() == Qt::Key_Escape)
> +    {
> +        this->cancel();
> +    }
> +    else if (keyEvent->key() == Qt::Key_Return ||
> +             keyEvent->key() == Qt::Key_Enter)
> +    {
> +        this->close();
> +    }
> +}
> diff --git a/modules/gui/qt/util/qvlcframe.hpp b/modules/gui/qt/util/qvlcframe.hpp
> index a516c7b285..5ddd024813 100644
> --- a/modules/gui/qt/util/qvlcframe.hpp
> +++ b/modules/gui/qt/util/qvlcframe.hpp
> @@ -44,19 +44,11 @@ class QVLCTools
>          window is docked into another - don't all this function
>          or it may write garbage to position info!
>         */
> -       static void saveWidgetPosition( QSettings *settings, QWidget *widget)
> -       {
> -         settings->setValue("geometry", widget->saveGeometry());
> -       }
> +       static void saveWidgetPosition( QSettings *settings, QWidget *widget);
> +
>         static void saveWidgetPosition( intf_thread_t *p_intf,
>                                         const QString& configName,
> -                                       QWidget *widget)
> -       {
> -         getSettings()->beginGroup( configName );
> -         QVLCTools::saveWidgetPosition(getSettings(), widget);
> -         getSettings()->endGroup();
> -       }
> -
> +                                       QWidget *widget);
>
>         /*
>           use this method only for restoring window state of non docked
> @@ -65,36 +57,13 @@ class QVLCTools
>         static bool restoreWidgetPosition(QSettings *settings,
>                                             QWidget *widget,
>                                             QSize defSize = QSize( 0, 0 ),
> -                                           QPoint defPos = QPoint( 0, 0 ))
> -       {
> -          if(!widget->restoreGeometry(settings->value("geometry")
> -                                      .toByteArray()))
> -          {
> -            widget->move(defPos);
> -            widget->resize(defSize);
> -
> -            if(defPos.x() == 0 && defPos.y()==0)
> -               widget->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, widget->size(), qApp->desktop()->availableGeometry()));
> -            return true;
> -          }
> -          return false;
> -       }
> +                                           QPoint defPos = QPoint( 0, 0 ));
>
>         static bool restoreWidgetPosition( intf_thread_t *p_intf,
>                                             const QString& configName,
>                                             QWidget *widget,
>                                             QSize defSize = QSize( 0, 0 ),
> -                                           QPoint defPos = QPoint( 0, 0 ) )
> -       {
> -         getSettings()->beginGroup( configName );
> -         bool defaultUsed = QVLCTools::restoreWidgetPosition( getSettings(),
> -                                                                   widget,
> -                                                                   defSize,
> -                                                                   defPos);
> -         getSettings()->endGroup();
> -
> -         return defaultUsed;
> -       }
> +                                           QPoint defPos = QPoint( 0, 0 ) );
>  };
>
>  class QVLCFrame : public QWidget
> @@ -132,18 +101,7 @@ protected:
>      {
>          hide();
>      }
> -    void keyPressEvent( QKeyEvent *keyEvent ) Q_DECL_OVERRIDE
> -    {
> -        if( keyEvent->key() == Qt::Key_Escape )
> -        {
> -            this->cancel();
> -        }
> -        else if( keyEvent->key() == Qt::Key_Return
> -              || keyEvent->key() == Qt::Key_Enter )
> -        {
> -             this->close();
> -        }
> -    }
> +    void keyPressEvent( QKeyEvent *keyEvent ) Q_DECL_OVERRIDE;
>  };
>
>  class QVLCDialog : public QDialog
> @@ -173,18 +131,7 @@ protected:
>      {
>          hide();
>      }
> -    void keyPressEvent( QKeyEvent *keyEvent ) Q_DECL_OVERRIDE
> -    {
> -        if( keyEvent->key() == Qt::Key_Escape )
> -        {
> -            this->cancel();
> -        }
> -        else if( keyEvent->key() == Qt::Key_Return
> -              || keyEvent->key() == Qt::Key_Enter )
> -        {
> -            this->close();
> -        }
> -    }
> +    void keyPressEvent( QKeyEvent *keyEvent ) Q_DECL_OVERRIDE;
>  };
>
>  class QVLCMW : public QMainWindow
> --
> 2.23.0
>


More information about the vlc-devel mailing list