newactiondialog.cpp
来自「奇趣公司比较新的qt/emd版本」· C++ 代码 · 共 153 行
CPP
153 行
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the Qt Designer of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file. Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "newactiondialog_p.h"#include "actioneditor_p.h"#include "findicondialog_p.h"#include <QtDesigner/abstracticoncache.h>#include <QtDesigner/abstractformwindow.h>#include <QtDesigner/abstractformeditor.h>#include <QtGui/QPushButton>#include <QtCore/QRegExp>namespace qdesigner_internal {NewActionDialog::NewActionDialog(ActionEditor *parent) : QDialog(parent, Qt::Sheet), m_actionEditor(parent){ ui.setupUi(this); setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); ui.editActionText->setFocus(); m_auto_update_object_name = true; updateButtons();}QIcon NewActionDialog::actionIcon() const{ return ui.iconButton->icon();}void NewActionDialog::setActionData(const QString &text, const QString &name, const QIcon &icon){ ui.editActionText->setText(text); ui.editObjectName->setText(name); ui.iconButton->setIcon(icon); m_auto_update_object_name = false; updateButtons();}NewActionDialog::~NewActionDialog(){}void NewActionDialog::accept(){ QDialog::accept();}QString NewActionDialog::actionText() const{ return ui.editActionText->text();}QString NewActionDialog::actionName() const{ return ui.editObjectName->text();}void NewActionDialog::on_editActionText_textEdited(const QString &text){ if (text.isEmpty()) m_auto_update_object_name = true; if (m_auto_update_object_name) ui.editObjectName->setText(ActionEditor::actionTextToName(text)); updateButtons();}void NewActionDialog::on_editObjectName_textEdited(const QString&){ updateButtons(); m_auto_update_object_name = false;}void NewActionDialog::on_iconButton_clicked(){ QDesignerFormWindowInterface *form = m_actionEditor->formWindow(); QDesignerFormEditorInterface *core = form->core(); QString file_path; QString qrc_path; if (!actionIcon().isNull()) { file_path = core->iconCache()->iconToFilePath(actionIcon()); qrc_path = core->iconCache()->iconToQrcPath(actionIcon()); } FindIconDialog dialog(form, this); dialog.setPaths(qrc_path, file_path); if (!dialog.exec()) return; file_path = dialog.filePath(); qrc_path = dialog.qrcPath(); if (file_path.isEmpty()) return; QIcon icon = core->iconCache()->nameToIcon(file_path, qrc_path); ui.iconButton->setIcon(icon); updateButtons();}void NewActionDialog::on_removeIconButton_clicked(){ ui.iconButton->setIcon(QIcon()); updateButtons();}void NewActionDialog::updateButtons(){ QPushButton *okButton = ui.buttonBox->button(QDialogButtonBox::Ok); okButton->setEnabled(!actionText().isEmpty() && !actionName().isEmpty()); ui.removeIconButton->setEnabled(!ui.iconButton->icon().isNull());}} // namespace qdesigner_internal
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?