Add testing parser

This commit is contained in:
2026-01-13 14:34:39 -07:00
parent fd405bd9fd
commit b999efe016
4 changed files with 54 additions and 2 deletions

View File

@@ -12,6 +12,7 @@ qt_standard_project_setup()
add_executable(CrabCrawler
src/main.cpp
src/ui/navbar.cpp
src/ui/content.cpp
)
target_link_libraries(CrabCrawler

View File

@@ -4,6 +4,7 @@
#include <QDebug>
#include "ui/navbar.h"
#include "ui/content.h"
int main(int argc, char *argv[])
{
@@ -19,9 +20,11 @@ int main(int argc, char *argv[])
auto *navBar = new NavBar(&window);
layout->addWidget(navBar);
layout->addStretch();
QObject::connect(navBar, &NavBar::addressEntered, [](const QString &text)
auto *content = new Content(&window);
layout->addWidget(content, 1);
QObject::connect(navBar, &NavBar::addressEntered, [content](const QString &text)
{ qDebug() << "navigate to:" << text; });
window.show();

31
src/ui/content.cpp Normal file
View File

@@ -0,0 +1,31 @@
#include "content.h"
#include <QVBoxLayout>
#include <QDebug>
Content::Content(QWidget *parent) : QWidget(parent)
{
auto *layout = new QVBoxLayout(this);
layout->setContentsMargins(0, 0, 0, 0);
display = new QTextEdit(this);
display->setReadOnly(true);
layout->addWidget(display);
}
void Content::parseCrabcontent(const QString &input)
{
QStringList lines = input.split('\n', Qt::SkipEmptyParts);
QString result;
for (const QString &line : lines)
{
if (line.startsWith("text:"))
{
result += "<p>" + line.mid(5).trimmed() + "</p>\n";
}
}
display->setHtml(result);
}

17
src/ui/content.h Normal file
View File

@@ -0,0 +1,17 @@
#pragma once
#include <QWidget>
#include <QString>
#include <QTextEdit>
class Content : public QWidget
{
Q_OBJECT
public:
explicit Content(QWidget *parent = nullptr);
void parseCrabcontent(const QString &input);
private:
QTextEdit *display;
};