qskinny/examples/gallery/dialog/DialogPage.cpp

121 lines
3.7 KiB
C++
Raw Normal View History

2022-07-05 15:45:06 +02:00
/******************************************************************************
* QSkinny - Copyright (C) 2016 Uwe Rathmann
2023-04-06 09:23:37 +02:00
* SPDX-License-Identifier: BSD-3-Clause
2022-07-05 15:45:06 +02:00
*****************************************************************************/
#include "DialogPage.h"
#include <QskDialog.h>
2023-02-27 12:27:57 +01:00
#include <QskLinearBox.h>
2022-07-05 15:45:06 +02:00
#include <QskPushButton.h>
#include <QskStandardSymbol.h>
2023-02-27 12:27:57 +01:00
#include <QskBoxShapeMetrics.h>
2022-07-05 15:45:06 +02:00
namespace
{
2023-02-27 12:27:57 +01:00
class Button : public QskPushButton
2022-07-05 15:45:06 +02:00
{
public:
Button( const QString& text, QQuickItem* parent = nullptr )
: QskPushButton( text, parent )
{
}
};
2023-02-27 12:27:57 +01:00
class ButtonBox : public QskLinearBox
{
2023-02-26 17:04:47 +01:00
public:
ButtonBox( QQuickItem* parent = nullptr )
: QskLinearBox( Qt::Horizontal, 2, parent )
2022-07-05 15:45:06 +02:00
{
setObjectName( "ButtonBox" );
2022-07-05 15:45:06 +02:00
setMargins( 10 );
setSpacing( 20 );
2022-07-05 15:45:06 +02:00
auto messageButton = new Button( "Message", this );
connect( messageButton, &Button::clicked, this, &ButtonBox::execMessage );
2022-07-05 15:45:06 +02:00
auto informationButton = new Button( "Information", this );
connect( informationButton, &Button::clicked, this, &ButtonBox::execInformation );
auto questionButton = new Button( "Question", this );
connect( questionButton, &Button::clicked, this, &ButtonBox::execQuestion );
2022-07-05 15:45:06 +02:00
auto warningButton = new Button( "Warning", this );
connect( warningButton, &Button::clicked, this, &ButtonBox::execWarning );
2022-07-05 15:45:06 +02:00
auto criticalButton = new Button( "Critical", this );
connect( criticalButton, &Button::clicked, this, &ButtonBox::execCritical );
auto selectButton = new Button( "Selection", this );
connect( selectButton, &Button::clicked, this, &ButtonBox::execSelection );
setExtraSpacingAt( Qt::BottomEdge );
2023-02-27 12:27:57 +01:00
}
2022-07-05 15:45:06 +02:00
2023-02-27 12:27:57 +01:00
private:
void execMessage()
2023-02-27 12:27:57 +01:00
{
qskDialog->message( "Message", "Request vector, over.",
QskStandardSymbol::NoSymbol, QskDialog::Close );
2022-07-05 15:45:06 +02:00
}
2023-02-27 12:27:57 +01:00
void execInformation()
{
qskDialog->information( "Information",
"We have clearance, Clarence." );
}
void execQuestion()
{
qskDialog->question( "Question",
"Roger, Roger. Do we have a vector, Victor ?" );
}
void execWarning()
{
qskDialog->warning( "Warning", "We have clearance, Clarence." );
}
void execCritical()
{
qskDialog->critical( "Critical", "That's Clarence Oveur. Over." );
}
void execSelection()
{
// of course we all love "The Teens"
const QStringList entries =
{
"Give Me More",
"Gimme Gimme Your Love",
"1-2-3-4 Red Light",
"New York",
"If You Walk Away",
"Eloise",
"On The Radio",
"We Are The Teens",
"Never Gonna Tell No Lie To You",
"Walking On Sunshine ",
"Get Out Of My Mind",
"Cover Girl ",
"Here I Stand",
"Gypsy Caravan",
"It´s Good To Have A Friend",
"We´ll Have A Party Tonite ´nite",
"Automatic World",
"Gimme Gimme Gimme Gimme Gimme Your Love"
};
qskDialog->select( "Here we go ...", "Hot Hot Hot", entries, 7 );
}
2022-07-05 15:45:06 +02:00
};
}
DialogPage::DialogPage( QQuickItem* parent )
: Page( Qt::Horizontal, parent )
{
( void ) new ButtonBox( this );
2022-07-05 15:45:06 +02:00
}