View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0017546 | Scribus | Fonts | public | 2025-05-30 15:13 | 2025-05-30 22:42 |
Reporter | ale | Assigned To | ale | ||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | assigned | Resolution | open | ||
Product Version | 1.7.1.svn | ||||
Summary | 0017546: [SUSPENDED] Document setup: deactivate unused fonts | ||||
Description | The attached patch deactivates the fonts that are not used in the document. While it does do its work, it's currently useless, since Scribus does not manage the fonts on a document basis. I'm attaching the patch as a reference for future work, when Scribus eventually will be able to show different fonts for each document. | ||||
Tags | No tags attached. | ||||
Patch | No | ||||
|
activate-used-only.diff (2,988 bytes)
diff --git a/scribus/ui/fontlistview.cpp b/scribus/ui/fontlistview.cpp index b07ca9046..2fd35e512 100644 --- a/scribus/ui/fontlistview.cpp +++ b/scribus/ui/fontlistview.cpp @@ -7,6 +7,8 @@ for which a new license (GPL+exception) is in place. #include "fontlistview.h" #include "fontlistmodel.h" +#include "commonstrings.h" + #include <QMenu> #include <QModelIndex> #include <QPoint> @@ -17,7 +19,8 @@ FontListView::FontListView(QWidget * parent) activateAction(new QAction(tr("&Activate"), this)), deactivateAction(new QAction(tr("&Deactivate"), this)), subsetAction(new QAction(tr("&Subset"), this)), - notSubsetAction(new QAction(tr("Do ¬ subset"), this)) + notSubsetAction(new QAction(tr("Do ¬ subset"), this)), + activateUsedOnlyAction(new QAction(tr("Only activate &used fonts"), this)) { setSelectionMode(QAbstractItemView::ExtendedSelection); setSelectionBehavior(QAbstractItemView::SelectRows); @@ -32,11 +35,14 @@ FontListView::FontListView(QWidget * parent) contextMenu->addAction(deactivateAction); contextMenu->addAction(subsetAction); contextMenu->addAction(notSubsetAction); + contextMenu->addSeparator(); + contextMenu->addAction(activateUsedOnlyAction); connect(activateAction, &QAction::triggered, this, &FontListView::activateSelection); connect(deactivateAction, &QAction::triggered, this, &FontListView::deactivateSelection); connect(subsetAction, &QAction::triggered, this, &FontListView::subsetSelection); connect(notSubsetAction, &QAction::triggered, this, &FontListView::notSubsetSelection); + connect(activateUsedOnlyAction, &QAction::triggered, this, &FontListView::activateUsedOnly); connect(this, &QTableView::customContextMenuRequested, this, &FontListView::customContextMenuRequested); } @@ -119,3 +125,19 @@ void FontListView::notSubsetSelection() fontModel->setData(fontModel->index(selectedRow.row(), FontListModel::FontSubset), Qt::Unchecked, Qt::CheckStateRole); } } + +void FontListView::activateUsedOnly() +{ + FontListModel* fontModel = qobject_cast<FontListModel*>(model()); + for (int i = 0; i < fontModel->rowCount(); i++) + { + if (fontModel->data(fontModel->index(i, FontListModel::FontInDoc)).toString() == CommonStrings::trYes) + { + fontModel->setData(fontModel->index(i, FontListModel::FontUsable), Qt::Checked, Qt::CheckStateRole); + } + else + { + fontModel->setData(fontModel->index(i, FontListModel::FontUsable), Qt::Unchecked, Qt::CheckStateRole); + } + } +} diff --git a/scribus/ui/fontlistview.h b/scribus/ui/fontlistview.h index bbf0dc744..78224717d 100644 --- a/scribus/ui/fontlistview.h +++ b/scribus/ui/fontlistview.h @@ -38,10 +38,12 @@ class SCRIBUS_API FontListView : public QTableView QAction* deactivateAction; QAction* subsetAction; QAction* notSubsetAction; + QAction* activateUsedOnlyAction; void activateSelection(); void deactivateSelection(); void subsetSelection(); void notSubsetSelection(); + void activateUsedOnly(); }; #endif |
Date Modified | Username | Field | Change |
---|---|---|---|
2025-05-30 15:13 | ale | New Issue | |
2025-05-30 15:15 | ale | Assigned To | => ale |
2025-05-30 15:15 | ale | Status | new => assigned |
2025-05-30 15:15 | ale | Summary | Document setup: deactivate unused fonts => [SUSPENDED] Document setup: deactivate unused fonts |
2025-05-30 15:22 | ale | Note Added: 0052688 | |
2025-05-30 15:22 | ale | File Added: activate-used-only.diff |