ConversionPlan.h header

#include <ew/app/ConversionPlan.h>

Namespace ew::app

ConversionQuestion struct

struct ew::app::ConversionQuestion

A question the conversion wants answered before acting on one item – the archetype being a PDF's disposition (convert vs keep-as-reference; docs/AI_FOLDER_CONVERSION.md §4b). In supervised mode the wizard asks; in autonomous mode recommendedOption is taken and the choice is logged in the report either way.

Members

QString ew::app::ConversionQuestion::subject

What the question is about (usually a file's relative path or a proposal name).

QString ew::app::ConversionQuestion::prompt

The question itself, user-readable.

QStringList ew::app::ConversionQuestion::options

The choices, user-readable, in presentation order.

int ew::app::ConversionQuestion::recommendedOption = 0

Index into options of the AI-recommended default (what autonomous mode picks).

int ew::app::ConversionQuestion::chosenOption = -1

The resolved choice: -1 until answered (supervised) or defaulted (autonomous).

bool ew::app::ConversionQuestion::operator==(const ConversionQuestion &) const =default

Field-wise equality.

ConversionReport struct

struct ew::app::ConversionReport

The accumulated record of a conversion run, rendered at the end (and saved as a Note).

Members

std::vector<ConversionReportEntry> ew::app::ConversionReport::entries

Every outcome, in the order it happened.

void ew::app::ConversionReport::add(const QString &stage, const QString &outcome)

Appends one entry.

QString ew::app::ConversionReport::toMarkdown() const

The report as user-readable Markdown, grouped by stage in first-seen order.

ConversionReportEntry struct

struct ew::app::ConversionReportEntry

One line of the conversion report: what happened (or was decided) and where it landed.

Members

QString ew::app::ConversionReportEntry::stage

The stage that produced this entry (e.g. "Entities", "Timeline", "PDFs").

QString ew::app::ConversionReportEntry::outcome

User-readable outcome ("Created entity 'Aria Sunwell' (Characters)"; "'rules.pdf' kept as a reference source (autonomous default)"). Nothing is silently dropped: skips and defaulted answers are entries too.

bool ew::app::ConversionReportEntry::operator==(const ConversionReportEntry &) const =default

Field-wise equality.

Functions

bool ew::app::sameProposalName(const QString &a, const QString &b)

Case-insensitively trims and compares proposal names so stages dedup consistently against the existing project and each other (" Aria " == "aria").

std::vector< T > ew::app::withoutExistingNames(const std::vector< T > &proposed, const QStringList &existing, NameFn nameOf)

Returns the entries of proposed whose names (via nameOf) are not already present in existing (per sameProposalName) – the shared dedup every stage applies before offering its proposals.