Warning, file /office/calligra/filters/sheets/html/exportdialog.cc was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* This file is part of the KDE project 0002 SPDX-FileCopyrightText: 2005 Bram Schoenmakers <bramschoenmakers@kde.nl> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "exportdialog.h" 0008 0009 #include <QCheckBox> 0010 #include <QComboBox> 0011 #include <QListWidget> 0012 #include <QRadioButton> 0013 #include <QSpinBox> 0014 #include <QTextCodec> 0015 #include <QApplication> 0016 #include <QUrl> 0017 0018 ExportDialog::ExportDialog(QWidget *parent) 0019 : KoDialog(parent), m_mainwidget(new ExportWidget(this)) 0020 { 0021 setCaption(i18n("Export Sheet to HTML")); 0022 setButtons(Ok | Cancel); 0023 setDefaultButton(Cancel); 0024 QApplication::restoreOverrideCursor(); 0025 0026 connect(m_mainwidget->mCustomButton, &QAbstractButton::toggled, 0027 m_mainwidget->mCustomURL, &QWidget::setEnabled); 0028 connect(m_mainwidget->mSelectAllButton, &QAbstractButton::clicked, this, &ExportDialog::selectAll); 0029 connect(m_mainwidget->mDeselectAllButton, &QAbstractButton::clicked, 0030 m_mainwidget->mSheets, &QAbstractItemView::clearSelection); 0031 0032 m_mainwidget->mEncodingBox->addItem(i18n("Recommended: UTF-8")); 0033 m_mainwidget->mEncodingBox->addItem(i18n("Locale (%1)", QString::fromLatin1(QTextCodec::codecForLocale()->name()))); 0034 0035 m_mainwidget->mCustomURL->setMode(KFile::ExistingOnly); 0036 0037 setMainWidget(m_mainwidget); 0038 } 0039 0040 void ExportDialog::selectAll() 0041 { 0042 0043 QListWidget *view = m_mainwidget->mSheets; 0044 QAbstractItemModel *model = view->model(); 0045 QModelIndex topLeft = model->index(0, 0); 0046 QModelIndex bottomRight = model->index(model->rowCount() - 1, model->columnCount() - 1); 0047 QItemSelection selection(topLeft, bottomRight); 0048 view->selectionModel()->select(selection , QItemSelectionModel::QItemSelectionModel::Select); 0049 } 0050 0051 ExportDialog::~ExportDialog() 0052 { 0053 QApplication::setOverrideCursor(Qt::WaitCursor); 0054 } 0055 0056 QTextCodec *ExportDialog::encoding() const 0057 { 0058 if (m_mainwidget->mEncodingBox->currentIndex() == 1) // locale selected 0059 return QTextCodec::codecForLocale(); 0060 0061 return QTextCodec::codecForName("utf8"); // utf8 is default 0062 } 0063 0064 bool ExportDialog::useBorders() const 0065 { 0066 return m_mainwidget->mUseBorders->isChecked(); 0067 } 0068 0069 bool ExportDialog::separateFiles() const 0070 { 0071 return m_mainwidget->mSeparateFiles->isChecked(); 0072 } 0073 0074 QUrl ExportDialog::customStyleURL() const 0075 { 0076 QUrl url = m_mainwidget->mCustomURL->url(); 0077 if (m_mainwidget->mCustomButton->isChecked() && url.isValid()) 0078 return url; 0079 0080 return QUrl(); 0081 } 0082 0083 void ExportDialog::setSheets(const QStringList &list) 0084 { 0085 m_mainwidget->mSheets->addItems(list); 0086 selectAll(); 0087 } 0088 0089 QStringList ExportDialog::sheets() const 0090 { 0091 QListWidget* view = m_mainwidget->mSheets; 0092 QStringList list; 0093 for (uint i = 0; i < (uint)view->count() ; i++) { 0094 QListWidgetItem* item = view->item(i); 0095 if (item->isSelected()) { 0096 list.append(item->text()); 0097 } 0098 } 0099 return list; 0100 } 0101 0102 int ExportDialog::pixelsBetweenCells() const 0103 { 0104 return m_mainwidget->mPixelsBetweenCells->value(); 0105 }