185 lines
4.8 KiB
C++
185 lines
4.8 KiB
C++
#include "SARibbonCustomizeDialog.h"
|
||
#include <QApplication>
|
||
#include <QPushButton>
|
||
#include <QVBoxLayout>
|
||
#include <QSpacerItem>
|
||
|
||
/**
|
||
* @brief The SARibbonCustomizeDialogUi class
|
||
*/
|
||
class SARibbonCustomizeDialogUi {
|
||
public:
|
||
SARibbonCustomizeWidget *customWidget;
|
||
QVBoxLayout *verticalLayoutMain;
|
||
QHBoxLayout *horizontalLayoutButtonGroup;
|
||
QPushButton *pushButtonCancel;
|
||
QPushButton *pushButtonOk;
|
||
QSpacerItem *spacerItemleft;
|
||
void setupUi(SARibbonMainWindow *ribbonWindow, QWidget *customizeDialog)
|
||
{
|
||
if (customizeDialog->objectName().isEmpty()) {
|
||
customizeDialog->setObjectName(QStringLiteral("SARibbonCustomizeDialog"));
|
||
}
|
||
customizeDialog->resize(800, 600);
|
||
verticalLayoutMain = new QVBoxLayout(customizeDialog);
|
||
verticalLayoutMain->setObjectName(QStringLiteral("verticalLayoutMain"));
|
||
|
||
customWidget = new SARibbonCustomizeWidget(ribbonWindow, customizeDialog);
|
||
customWidget->setObjectName(QStringLiteral("customWidget"));
|
||
verticalLayoutMain->addWidget(customWidget);
|
||
|
||
horizontalLayoutButtonGroup = new QHBoxLayout();
|
||
horizontalLayoutButtonGroup->setObjectName(QStringLiteral("horizontalLayoutButtonGroup"));
|
||
|
||
spacerItemleft = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||
horizontalLayoutButtonGroup->addItem(spacerItemleft);
|
||
|
||
pushButtonCancel = new QPushButton(customizeDialog);
|
||
pushButtonCancel->setObjectName(QStringLiteral("pushButtonCancel"));
|
||
horizontalLayoutButtonGroup->addWidget(pushButtonCancel);
|
||
|
||
pushButtonOk = new QPushButton(customizeDialog);
|
||
pushButtonOk->setObjectName(QStringLiteral("pushButtonCancel"));
|
||
horizontalLayoutButtonGroup->addWidget(pushButtonOk);
|
||
verticalLayoutMain->addItem(horizontalLayoutButtonGroup);
|
||
retranslateUi(customizeDialog);
|
||
}
|
||
|
||
|
||
void retranslateUi(QWidget *customizeDialog)
|
||
{
|
||
customizeDialog->setWindowTitle(QApplication::translate("SARibbonCustomizeDialog", "Customize Dialog", Q_NULLPTR));
|
||
pushButtonCancel->setText(QApplication::translate("SARibbonCustomizeDialog", "Cancel", Q_NULLPTR));
|
||
pushButtonOk->setText(QApplication::translate("SARibbonCustomizeDialog", "OK", Q_NULLPTR));
|
||
}
|
||
};
|
||
|
||
|
||
////////////////////////////////////////////////////////////////////
|
||
|
||
SARibbonCustomizeDialog::SARibbonCustomizeDialog(SARibbonMainWindow *ribbonWindow, QWidget *p, Qt::WindowFlags f)
|
||
: QDialog(p, f)
|
||
, ui(new SARibbonCustomizeDialogUi)
|
||
{
|
||
ui->setupUi(ribbonWindow, this);
|
||
initConnection();
|
||
}
|
||
|
||
|
||
/**
|
||
* @brief 设置action管理器
|
||
*
|
||
* 等同@ref SARibbonCustomizeWidget::setupActionsManager
|
||
* @param mgr
|
||
*/
|
||
void SARibbonCustomizeDialog::setupActionsManager(SARibbonActionsManager *mgr)
|
||
{
|
||
ui->customWidget->setupActionsManager(mgr);
|
||
}
|
||
|
||
/**
|
||
* @brief //判断用户是否有要存储的内容,对应save动作
|
||
* @return
|
||
*/
|
||
bool SARibbonCustomizeDialog::isApplied() const
|
||
{
|
||
return ui->customWidget->isApplied();
|
||
}
|
||
|
||
/**
|
||
* @brief 判断用户是否有改动内容,对应apply动作
|
||
* @return
|
||
*/
|
||
bool SARibbonCustomizeDialog::isCached() const
|
||
{
|
||
return ui->customWidget->isCached();
|
||
}
|
||
|
||
|
||
void SARibbonCustomizeDialog::initConnection()
|
||
{
|
||
connect(ui->pushButtonOk, &QPushButton::clicked, this, &QDialog::accept);
|
||
connect(ui->pushButtonCancel, &QPushButton::clicked, this, &QDialog::reject);
|
||
}
|
||
|
||
|
||
/**
|
||
* @brief 等同SARibbonCustomizeWidget::applys
|
||
*
|
||
* @ref SARibbonCustomizeWidget::applys
|
||
* @return
|
||
*/
|
||
bool SARibbonCustomizeDialog::applys()
|
||
{
|
||
return ui->customWidget->applys();
|
||
}
|
||
|
||
|
||
/**
|
||
* @brief 清除所有动作
|
||
*
|
||
* @ref SARibbonCustomizeWidget::clear
|
||
*/
|
||
void SARibbonCustomizeDialog::clear()
|
||
{
|
||
ui->customWidget->clear();
|
||
}
|
||
|
||
|
||
/**
|
||
* @brief 转换为xml
|
||
*
|
||
* @ref SARibbonCustomizeWidget::toXml
|
||
* @param xml
|
||
* @return
|
||
*/
|
||
bool SARibbonCustomizeDialog::toXml(QXmlStreamWriter *xml) const
|
||
{
|
||
return (ui->customWidget->toXml(xml));
|
||
}
|
||
|
||
|
||
/**
|
||
* @brief 等同SARibbonCustomizeWidget::toXml
|
||
* @ref SARibbonCustomizeWidget::toXml
|
||
* @param xmlpath
|
||
* @return
|
||
*/
|
||
bool SARibbonCustomizeDialog::toXml(const QString& xmlpath) const
|
||
{
|
||
return (ui->customWidget->toXml(xmlpath));
|
||
}
|
||
|
||
|
||
/**
|
||
* @brief 等同SARibbonCustomizeWidget::fromXml
|
||
* @param xml
|
||
*/
|
||
void SARibbonCustomizeDialog::fromXml(QXmlStreamReader *xml)
|
||
{
|
||
ui->customWidget->fromXml(xml);
|
||
}
|
||
|
||
|
||
/**
|
||
* @brief 等同SARibbonCustomizeWidget::fromXml
|
||
* @param xmlpath
|
||
*/
|
||
void SARibbonCustomizeDialog::fromXml(const QString& xmlpath)
|
||
{
|
||
ui->customWidget->fromXml(xmlpath);
|
||
}
|
||
|
||
|
||
/**
|
||
* @brief 返回SARibbonCustomizeWidget窗口指针
|
||
*
|
||
* 通过SARibbonCustomizeWidget窗口可以操作更多的内容
|
||
*
|
||
* @return SARibbonCustomizeWidget指针,参考@ref SARibbonCustomizeWidget
|
||
*/
|
||
SARibbonCustomizeWidget *SARibbonCustomizeDialog::customizeWidget() const
|
||
{
|
||
return (ui->customWidget);
|
||
}
|