[libcalamaresui] When QML is off, there is no Qml panel flavor
This commit is contained in:
parent
736f99768a
commit
c83e5c57a4
@ -22,6 +22,7 @@
|
|||||||
#include "CalamaresWindow.h"
|
#include "CalamaresWindow.h"
|
||||||
|
|
||||||
#include "Branding.h"
|
#include "Branding.h"
|
||||||
|
#include "CalamaresConfig.h"
|
||||||
#include "DebugWindow.h"
|
#include "DebugWindow.h"
|
||||||
#include "Settings.h"
|
#include "Settings.h"
|
||||||
#include "ViewManager.h"
|
#include "ViewManager.h"
|
||||||
@ -38,8 +39,10 @@
|
|||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
|
#ifdef WITH_QML
|
||||||
#include <QQuickItem>
|
#include <QQuickItem>
|
||||||
#include <QQuickWidget>
|
#include <QQuickWidget>
|
||||||
|
#endif
|
||||||
#include <QTreeView>
|
#include <QTreeView>
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
@ -132,18 +135,6 @@ CalamaresWindow::getWidgetSidebar( QWidget* parent, int desiredWidth )
|
|||||||
return sideBox;
|
return sideBox;
|
||||||
}
|
}
|
||||||
|
|
||||||
QWidget*
|
|
||||||
CalamaresWindow::getQmlSidebar( QWidget* parent, int )
|
|
||||||
{
|
|
||||||
CalamaresUtils::registerCalamaresModels();
|
|
||||||
QQuickWidget* w = new QQuickWidget( parent );
|
|
||||||
w->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
|
|
||||||
w->setResizeMode( QQuickWidget::SizeRootObjectToView );
|
|
||||||
w->setSource( QUrl(
|
|
||||||
CalamaresUtils::searchQmlFile( CalamaresUtils::QmlSearch::Both, QStringLiteral( "calamares-sidebar" ) ) ) );
|
|
||||||
return w;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @brief Get a button-sized icon. */
|
/** @brief Get a button-sized icon. */
|
||||||
static inline QPixmap
|
static inline QPixmap
|
||||||
getButtonIcon( const QString& name )
|
getButtonIcon( const QString& name )
|
||||||
@ -213,6 +204,19 @@ CalamaresWindow::getWidgetNavigation( QWidget* parent )
|
|||||||
return navigation;
|
return navigation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef WITH_QML
|
||||||
|
QWidget*
|
||||||
|
CalamaresWindow::getQmlSidebar( QWidget* parent, int )
|
||||||
|
{
|
||||||
|
CalamaresUtils::registerCalamaresModels();
|
||||||
|
QQuickWidget* w = new QQuickWidget( parent );
|
||||||
|
w->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
|
||||||
|
w->setResizeMode( QQuickWidget::SizeRootObjectToView );
|
||||||
|
w->setSource( QUrl(
|
||||||
|
CalamaresUtils::searchQmlFile( CalamaresUtils::QmlSearch::Both, QStringLiteral( "calamares-sidebar" ) ) ) );
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
|
||||||
QWidget*
|
QWidget*
|
||||||
CalamaresWindow::getQmlNavigation( QWidget* parent )
|
CalamaresWindow::getQmlNavigation( QWidget* parent )
|
||||||
{
|
{
|
||||||
@ -231,6 +235,19 @@ CalamaresWindow::getQmlNavigation( QWidget* parent )
|
|||||||
|
|
||||||
return w;
|
return w;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
// Bogus to keep the linker happy
|
||||||
|
QWidget * CalamaresWindow::getQmlSidebar(QWidget* , int )
|
||||||
|
{
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
QWidget * CalamaresWindow::getQmlNavigation(QWidget* )
|
||||||
|
{
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/**@brief Picks one of two methods to call
|
/**@brief Picks one of two methods to call
|
||||||
*
|
*
|
||||||
@ -243,16 +260,21 @@ flavoredWidget( Calamares::Branding::PanelFlavor flavor,
|
|||||||
CalamaresWindow* w,
|
CalamaresWindow* w,
|
||||||
QWidget* parent,
|
QWidget* parent,
|
||||||
widgetMaker widget,
|
widgetMaker widget,
|
||||||
widgetMaker qml,
|
widgetMaker qml, // Only if WITH_QML is on
|
||||||
args... a )
|
args... a )
|
||||||
{
|
{
|
||||||
|
#ifndef WITH_QML
|
||||||
|
Q_UNUSED( qml )
|
||||||
|
#endif
|
||||||
// Member-function calling syntax is (object.*member)(args)
|
// Member-function calling syntax is (object.*member)(args)
|
||||||
switch ( flavor )
|
switch ( flavor )
|
||||||
{
|
{
|
||||||
case Calamares::Branding::PanelFlavor::Widget:
|
case Calamares::Branding::PanelFlavor::Widget:
|
||||||
return ( w->*widget )( parent, a... );
|
return ( w->*widget )( parent, a... );
|
||||||
|
#ifdef WITH_QML
|
||||||
case Calamares::Branding::PanelFlavor::Qml:
|
case Calamares::Branding::PanelFlavor::Qml:
|
||||||
return ( w->*qml )( parent, a... );
|
return ( w->*qml )( parent, a... );
|
||||||
|
#endif
|
||||||
case Calamares::Branding::PanelFlavor::None:
|
case Calamares::Branding::PanelFlavor::None:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
@ -436,8 +436,11 @@ flavorAndSide( const YAML::Node& doc, const char* key, Branding::PanelFlavor& fl
|
|||||||
static const NamedEnumTable< PanelFlavor > sidebarFlavorNames {
|
static const NamedEnumTable< PanelFlavor > sidebarFlavorNames {
|
||||||
{ QStringLiteral( "widget" ), PanelFlavor::Widget },
|
{ QStringLiteral( "widget" ), PanelFlavor::Widget },
|
||||||
{ QStringLiteral( "none" ), PanelFlavor::None },
|
{ QStringLiteral( "none" ), PanelFlavor::None },
|
||||||
{ QStringLiteral( "hidden" ), PanelFlavor::None },
|
{ QStringLiteral( "hidden" ), PanelFlavor::None }
|
||||||
|
#ifdef WITH_QML
|
||||||
|
,
|
||||||
{ QStringLiteral( "qml" ), PanelFlavor::Qml }
|
{ QStringLiteral( "qml" ), PanelFlavor::Qml }
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
static const NamedEnumTable< PanelSide > panelSideNames {
|
static const NamedEnumTable< PanelSide > panelSideNames {
|
||||||
{ QStringLiteral( "left" ), PanelSide::Left },
|
{ QStringLiteral( "left" ), PanelSide::Left },
|
||||||
|
@ -22,8 +22,8 @@
|
|||||||
#ifndef BRANDING_H
|
#ifndef BRANDING_H
|
||||||
#define BRANDING_H
|
#define BRANDING_H
|
||||||
|
|
||||||
|
#include "CalamaresConfig.h"
|
||||||
#include "DllMacro.h"
|
#include "DllMacro.h"
|
||||||
|
|
||||||
#include "utils/NamedSuffix.h"
|
#include "utils/NamedSuffix.h"
|
||||||
|
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
@ -131,8 +131,11 @@ public:
|
|||||||
enum class PanelFlavor
|
enum class PanelFlavor
|
||||||
{
|
{
|
||||||
None,
|
None,
|
||||||
Widget,
|
Widget
|
||||||
|
#ifdef WITH_QML
|
||||||
|
,
|
||||||
Qml
|
Qml
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
Q_ENUM( PanelFlavor )
|
Q_ENUM( PanelFlavor )
|
||||||
///@brief Where to place a panel (sidebar, navigation)
|
///@brief Where to place a panel (sidebar, navigation)
|
||||||
|
Loading…
Reference in New Issue
Block a user