File indexing completed on 2024-04-21 04:32:07
0001 /* 0002 * Copyright (C) 2013-2015 by Stephen Allewell 0003 * steve.allewell@gmail.com 0004 * 0005 * This program is free software; you can redistribute it and/or modify 0006 * it under the terms of the GNU General Public License as published by 0007 * the Free Software Foundation; either version 2 of the License, or 0008 * (at your option) any later version. 0009 */ 0010 0011 #include "ImageElementDlg.h" 0012 0013 #include <QList> 0014 0015 #include <KHelpClient> 0016 #include <KLocalizedString> 0017 0018 #include "Document.h" 0019 #include "Element.h" 0020 #include "SelectArea.h" 0021 0022 ImageElementDlg::ImageElementDlg(QWidget *parent, ImageElement *imageElement, Document *document) 0023 : QDialog(parent) 0024 , m_imageElement(imageElement) 0025 , m_document(document) 0026 { 0027 setWindowModality(Qt::WindowModal); 0028 0029 setWindowTitle(i18n("Image Element Properties")); 0030 ui.setupUi(this); 0031 0032 m_selectArea = new SelectArea(ui.PreviewFrame, imageElement, document, QMap<int, QList<QRect>>()); 0033 m_selectArea->setPatternRect(imageElement->patternRect()); 0034 0035 ui.PreviewFrame->setWidget(m_selectArea); 0036 ui.ShowBorder->setChecked(imageElement->showBorder()); 0037 ui.BorderColor->setColor(imageElement->borderColor()); 0038 ui.BorderThickness->setValue(double(imageElement->borderThickness()) / 10); 0039 } 0040 0041 void ImageElementDlg::hideEvent(QHideEvent *event) 0042 { 0043 KConfigGroup(KSharedConfig::openConfig(), QStringLiteral("DialogSizes")).writeEntry(QStringLiteral("ImageElementDlg"), size()); 0044 0045 QDialog::hideEvent(event); 0046 } 0047 0048 void ImageElementDlg::showEvent(QShowEvent *event) 0049 { 0050 QDialog::showEvent(event); 0051 0052 if (KConfigGroup(KSharedConfig::openConfig(), QStringLiteral("DialogSizes")).hasKey(QStringLiteral("ImageElementDlg"))) { 0053 resize(KConfigGroup(KSharedConfig::openConfig(), QStringLiteral("DialogSizes")).readEntry(QStringLiteral("ImageElementDlg"), QSize())); 0054 } 0055 } 0056 0057 void ImageElementDlg::on_DialogButtonBox_accepted() 0058 { 0059 m_imageElement->setPatternRect(m_selectArea->patternRect()); 0060 m_imageElement->setShowBorder(ui.ShowBorder->isChecked()); 0061 m_imageElement->setBorderColor(ui.BorderColor->color()); 0062 m_imageElement->setBorderThickness(int(ui.BorderThickness->value() * 10)); 0063 0064 accept(); 0065 } 0066 0067 void ImageElementDlg::on_DialogButtonBox_rejected() 0068 { 0069 reject(); 0070 } 0071 0072 void ImageElementDlg::on_DialogButtonBox_helpRequested() 0073 { 0074 KHelpClient::invokeHelp(QStringLiteral("ImageElement"), QStringLiteral("kxstitch")); 0075 } 0076 0077 #include "moc_ImageElementDlg.cpp"