Added "check/uncheck all items" feature to import/export dialog.
This commit is contained in:
parent
63ca878b5c
commit
b264e95db4
@ -13,6 +13,7 @@ Fixed:
|
||||
|
||||
Added:
|
||||
<ul>
|
||||
<li>Import/export dialog now offers "Check/uncheck all items" button.</li>
|
||||
</ul>
|
||||
|
||||
Changed:
|
||||
|
@ -248,6 +248,18 @@ void FeedsImportExportModel::setMode(const FeedsImportExportModel::Mode &mode) {
|
||||
m_mode = mode;
|
||||
}
|
||||
|
||||
void FeedsImportExportModel::checkAllItems() {
|
||||
foreach (FeedsModelRootItem *root_child, m_rootItem->childItems()) {
|
||||
setData(indexForItem(root_child), Qt::Checked, Qt::CheckStateRole);
|
||||
}
|
||||
}
|
||||
|
||||
void FeedsImportExportModel::uncheckAllItems() {
|
||||
foreach (FeedsModelRootItem *root_child, m_rootItem->childItems()) {
|
||||
setData(indexForItem(root_child), Qt::Unchecked, Qt::CheckStateRole);
|
||||
}
|
||||
}
|
||||
|
||||
QModelIndex FeedsImportExportModel::index(int row, int column, const QModelIndex &parent) const {
|
||||
if (!hasIndex(row, column, parent)) {
|
||||
return QModelIndex();
|
||||
|
@ -65,6 +65,10 @@ class FeedsImportExportModel : public QAbstractItemModel {
|
||||
Mode mode() const;
|
||||
void setMode(const Mode &mode);
|
||||
|
||||
public slots:
|
||||
void checkAllItems();
|
||||
void uncheckAllItems();
|
||||
|
||||
private:
|
||||
QHash<FeedsModelRootItem*, Qt::CheckState> m_checkStates;
|
||||
FeedsModelRootItem *m_rootItem;
|
||||
|
@ -40,6 +40,8 @@ FormImportExport::FormImportExport(QWidget *parent) : QDialog(parent), m_ui(new
|
||||
|
||||
connect(m_ui->m_buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked()), this, SLOT(performAction()));
|
||||
connect(m_ui->m_btnSelectFile, SIGNAL(clicked()), this, SLOT(selectFile()));
|
||||
connect(m_ui->m_btnCheckAllItems, SIGNAL(clicked()), m_model, SLOT(checkAllItems()));
|
||||
connect(m_ui->m_btnUncheckAllItems, SIGNAL(clicked()), m_model, SLOT(uncheckAllItems()));
|
||||
}
|
||||
|
||||
FormImportExport::~FormImportExport() {
|
||||
@ -64,7 +66,7 @@ void FormImportExport::setMode(const FeedsImportExportModel::Mode &mode) {
|
||||
case FeedsImportExportModel::Import: {
|
||||
m_ui->m_groupFile->setTitle(tr("Source file"));
|
||||
m_ui->m_groupFeeds->setTitle(tr("Target feeds && categories"));
|
||||
m_ui->m_treeFeeds->setDisabled(true);
|
||||
m_ui->m_groupFeeds->setDisabled(true);
|
||||
setWindowTitle(tr("Import feeds"));
|
||||
setWindowIcon(qApp->icons()->fromTheme("document-import"));
|
||||
break;
|
||||
@ -176,7 +178,7 @@ void FormImportExport::parseImportFile(const QString &file_name) {
|
||||
|
||||
if (parsing_result) {
|
||||
m_ui->m_lblResult->setStatus(WidgetWithStatus::Ok, tr("Feeds were loaded."), tr("Feeds were loaded."));
|
||||
m_ui->m_treeFeeds->setEnabled(true);
|
||||
m_ui->m_groupFeeds->setEnabled(true);
|
||||
m_ui->m_treeFeeds->setModel(m_model);
|
||||
m_ui->m_treeFeeds->expandAll();
|
||||
}
|
||||
|
@ -42,8 +42,35 @@
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1">
|
||||
<widget class="QPushButton" name="m_btnCheckAllItems">
|
||||
<property name="text">
|
||||
<string>&Check all items</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QPushButton" name="m_btnUncheckAllItems">
|
||||
<property name="text">
|
||||
<string>&Uncheck all items</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="1" colspan="3">
|
||||
<widget class="QTreeView" name="m_treeFeeds">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
@ -110,6 +137,13 @@
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>m_btnSelectFile</tabstop>
|
||||
<tabstop>m_btnCheckAllItems</tabstop>
|
||||
<tabstop>m_btnUncheckAllItems</tabstop>
|
||||
<tabstop>m_treeFeeds</tabstop>
|
||||
<tabstop>m_buttonBox</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
|
Loading…
x
Reference in New Issue
Block a user