Skip to content

Commit

Permalink
Make the Qt GUI build again.
Browse files Browse the repository at this point in the history
  • Loading branch information
davidgiven committed Nov 23, 2024
1 parent 9a0591d commit f57a37a
Show file tree
Hide file tree
Showing 13 changed files with 104 additions and 56 deletions.
24 changes: 15 additions & 9 deletions src/gui2/build.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from build.ab import normalrule, Rule, Target
from build.ab import simplerule, Rule, Target
from build.c import cxxprogram, cxxlibrary
from build.pkg import package
import config
Expand All @@ -9,10 +9,10 @@

@Rule
def uic(self, name, src: Target = None, dest=None):
normalrule(
simplerule(
replaces=self,
ins=[src],
outs=[dest],
outs=["=" + dest],
commands=["$(UIC) -g cpp -o {outs[0]} {ins[0]}"],
label="UIC",
)
Expand All @@ -21,10 +21,10 @@ def uic(self, name, src: Target = None, dest=None):
for n in ["userinterface", "driveConfigurationForm", "fluxConfigurationForm"]:
uic(name=n + "_h", src="./" + n + ".ui", dest=n + ".h")

normalrule(
simplerule(
name="resources_cc",
ins=["./resources.qrc"],
outs=["resources.cc"],
outs=["=resources.cc"],
commands=["$(RCC) -g cpp --name resources -o {outs[0]} {ins[0]}"],
label="RCC",
)
Expand Down Expand Up @@ -61,7 +61,12 @@ def uic(self, name, src: Target = None, dest=None):
},
cflags=["-fPIC"],
deps=[
"+lib",
"lib/config",
"lib/core",
"lib/data",
"lib/external",
"lib/algorithms",
"lib/vfs",
".+userinterface",
".+Qt5Concurrent",
".+Qt5Widgets",
Expand All @@ -79,9 +84,7 @@ def uic(self, name, src: Target = None, dest=None):
cflags=["-fPIC"],
ldflags=["$(QT5_EXTRA_LIBS)"],
deps=[
"+fl2_proto_lib",
"+fmt_lib",
"+lib",
"+protobuf_lib",
"+protocol",
"+z_lib",
Expand All @@ -95,7 +98,10 @@ def uic(self, name, src: Target = None, dest=None):
"dep/libusbp",
"dep/verdigris",
"extras+icons",
"lib+config_proto_lib",
"lib/config",
"lib/core",
"lib/data",
"lib/external",
"src/formats",
"src/gui/drivetypes",
],
Expand Down
8 changes: 4 additions & 4 deletions src/gui2/datastore.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/globals.h"
#include "lib/image.h"
#include "lib/flux.h"
#include "lib/layout.h"
#include "lib/core/globals.h"
#include "lib/data/image.h"
#include "lib/data/flux.h"
#include "lib/data/layout.h"
#include "globals.h"
#include "datastore.h"

Expand Down
3 changes: 2 additions & 1 deletion src/gui2/drivecomponent.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "lib/globals.h"
#include "lib/core/globals.h"
#include "lib/usb/usbfinder.h"
#include "lib/config/config.h"
#include "globals.h"
#include "drivecomponent.h"
#include "mainwindow.h"
Expand Down
2 changes: 1 addition & 1 deletion src/gui2/fluxcomponent.cc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "lib/globals.h"
#include "lib/core/globals.h"
#include "lib/usb/usbfinder.h"
#include "globals.h"
#include "fluxcomponent.h"
Expand Down
12 changes: 6 additions & 6 deletions src/gui2/fluxvisualiserwidget.cc
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#include "lib/globals.h"
#include "lib/config.h"
#include "lib/fluxmap.h"
#include "lib/flux.h"
#include "lib/layout.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/core/globals.h"
#include "lib/config/config.h"
#include "lib/data/fluxmap.h"
#include "lib/data/flux.h"
#include "lib/data/layout.h"
#include "lib/data/fluxmapreader.h"
#include "globals.h"
#include "fluxvisualiserwidget.h"
#include "scene.h"
Expand Down
5 changes: 3 additions & 2 deletions src/gui2/formatcomponent.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "lib/globals.h"
#include "lib/proto.h"
#include "lib/core/globals.h"
#include "lib/config/config.h"
#include "lib/config/proto.h"
#include "globals.h"
#include "formatcomponent.h"
#include "mainwindow.h"
Expand Down
5 changes: 3 additions & 2 deletions src/gui2/globals.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
#pragma once

#include "lib/globals.h"
#include "lib/logger.h"
#include "lib/core/globals.h"
#include "lib/core/logger.h"
#include "lib/config/config.h"
#include "userinterface.h"
#include "wobjectdefs.h"
#include "wobjectimpl.h"
Expand Down
3 changes: 2 additions & 1 deletion src/gui2/imagecomponent.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "lib/globals.h"
#include "lib/core/globals.h"
#include "lib/usb/usbfinder.h"
#include "lib/config/config.h"
#include "globals.h"
#include "imagecomponent.h"
#include "mainwindow.h"
Expand Down
20 changes: 10 additions & 10 deletions src/gui2/imagevisualiserwidget.cc
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#include "lib/globals.h"
#include "lib/config.h"
#include "lib/flux.h"
#include "lib/layout.h"
#include "lib/image.h"
#include "lib/sector.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/core/globals.h"
#include "lib/config/config.h"
#include "lib/data/flux.h"
#include "lib/data/layout.h"
#include "lib/data/image.h"
#include "lib/data/sector.h"
#include "lib/data/fluxmapreader.h"
#include "globals.h"
#include "imagevisualiserwidget.h"
#include "scene.h"
Expand Down Expand Up @@ -132,8 +132,8 @@ class ImageVisualiserWidgetImpl : public ImageVisualiserWidget
key_t key = {track, side};
std::vector<std::shared_ptr<const Sector>> sectors;
for (auto it = _sectors.lower_bound(key);
it != _sectors.upper_bound(key);
it++)
it != _sectors.upper_bound(key);
it++)
sectors.push_back(it->second);
std::sort(sectors.begin(),
sectors.end(),
Expand All @@ -148,7 +148,7 @@ class ImageVisualiserWidgetImpl : public ImageVisualiserWidget
x += size;

for (int sectorId = 0; sectorId < sectors.size();
sectorId++)
sectorId++)
{
std::shared_ptr<const Sector> sector =
sectors.at(sectorId);
Expand Down
6 changes: 3 additions & 3 deletions src/gui2/main.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include "lib/globals.h"
#include "lib/logger.h"
#include "lib/core/globals.h"
#include "lib/core/logger.h"
#include "globals.h"
#include "mainwindow.h"
#include <QtConcurrent>
Expand All @@ -22,7 +22,7 @@ class ApplicationImpl : public Application
_mainWindow->show();

Logger::setLogger(
[&](std::shared_ptr<const AnyLogMessage> message)
[&](const AnyLogMessage& message)
{
if (isGuiThread())
_mainWindow->logMessage(message);
Expand Down
60 changes: 49 additions & 11 deletions src/gui2/mainwindow-imager.cc
Original file line number Diff line number Diff line change
@@ -1,14 +1,40 @@
#include "lib/globals.h"
#include "lib/config.h"
#include "lib/readerwriter.h"
#include "lib/utils.h"
#include "lib/core/globals.h"
#include "lib/config/config.h"
#include "lib/algorithms/readerwriter.h"
#include "lib/core/utils.h"
#include "lib/fluxsource/fluxsource.h"
#include "lib/decoders/decoders.h"
#include "arch/arch.h"
#include "globals.h"
#include "mainwindow.h"
#include "drivecomponent.h"
#include "formatcomponent.h"
#include "fluxcomponent.h"
#include "imagecomponent.h"

class CallbackOstream : public std::streambuf
{
public:
CallbackOstream(std::function<void(const std::string&)> cb): _cb(cb) {}

public:
std::streamsize xsputn(const char* p, std::streamsize n) override
{
_cb(std::string(p, n));
return n;
}

int_type overflow(int_type v) override
{
char c = v;
_cb(std::string(&c, 1));
return 1;
}

private:
std::function<void(const std::string&)> _cb;
};

class MainWindowImpl : public MainWindow
{
W_OBJECT(MainWindowImpl)
Expand All @@ -22,7 +48,15 @@ class MainWindowImpl : public MainWindow
};

public:
MainWindowImpl()
MainWindowImpl():
_logStreamBuf(
[this](const std::string& s)
{
logViewerEdit->appendPlainText(QString::fromStdString(s));
logViewerEdit->ensureCursorVisible();
}),
_logStream(&_logStreamBuf),
_logRenderer(LogRenderer::create(_logStream))
{
_driveComponent = DriveComponent::create(this);
_formatComponent = FormatComponent::create(this);
Expand All @@ -41,8 +75,9 @@ class MainWindowImpl : public MainWindow
}

public:
void logMessage(std::shared_ptr<const AnyLogMessage> message) override
void logMessage(const AnyLogMessage& message) override
{
#if 0
std::visit(overloaded{/* Fallback --- do nothing */
[this](const auto& m)
{
Expand Down Expand Up @@ -79,10 +114,10 @@ class MainWindowImpl : public MainWindow
_progressWidget->setValue(m.progress);
}},
*message);
#endif

logViewerEdit->appendPlainText(
QString::fromStdString(Logger::toString(*message)));
logViewerEdit->ensureCursorVisible();
_logRenderer->add(message);
_logStream.flush();
}

void collectConfig() override
Expand Down Expand Up @@ -116,8 +151,8 @@ class MainWindowImpl : public MainWindow
runThen(
[this]()
{
auto& fluxSource = globalConfig().getFluxSource();
auto& decoder = globalConfig().getDecoder();
auto fluxSource = FluxSource::create(globalConfig());
auto decoder = Arch::createDecoder(globalConfig());
auto diskflux = readDiskCommand(*fluxSource, *decoder);
},
[this]()
Expand All @@ -142,6 +177,9 @@ class MainWindowImpl : public MainWindow
W_SLOT(setState)

private:
std::ostream _logStream;
CallbackOstream _logStreamBuf;
std::unique_ptr<LogRenderer> _logRenderer;
DriveComponent* _driveComponent;
FormatComponent* _formatComponent;
FluxComponent* _fluxComponent;
Expand Down
8 changes: 4 additions & 4 deletions src/gui2/mainwindow.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/globals.h"
#include "lib/config.h"
#include "lib/readerwriter.h"
#include "lib/utils.h"
#include "lib/core/globals.h"
#include "lib/config/config.h"
#include "lib/algorithms/readerwriter.h"
#include "lib/core/utils.h"
#include "globals.h"
#include "mainwindow.h"

Expand Down
4 changes: 2 additions & 2 deletions src/gui2/mainwindow.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "lib/logger.h"
#include "lib/core/logger.h"
#include "globals.h"

class MainWindow : public QMainWindow, public Ui_MainWindow
Expand All @@ -14,7 +14,7 @@ class MainWindow : public QMainWindow, public Ui_MainWindow
MainWindow();

public:
virtual void logMessage(std::shared_ptr<const AnyLogMessage> message) = 0;
virtual void logMessage(const AnyLogMessage& message) = 0;
virtual void collectConfig() = 0;

protected:
Expand Down

0 comments on commit f57a37a

Please sign in to comment.