Final slice of decomposing mining_tab.cpp. The ~529-line "Mode toggle" section (SOLO | POOL segmented control + pool URL/worker inputs) is moved verbatim into RenderMiningModeToggle(). mining_tab.cpp is now 311 lines (was 2628) — just the tab dispatch, thread-sync glue, benchmark advance, section-budget setup, and four card calls. State the toggle mutates is passed BY REFERENCE so behaviour is identical: the pool-mode flag, the settings-dirty flag, and the pool URL / worker char[256] buffers (the text inputs write into them) — passed as char(&)[256] references and named with their original identifiers so the body stays byte-identical. Verified: full-node + Windows + lite build, tests, hygiene. Audit #10 complete: the 2628-line monolith is now five focused files (earnings, stats, controls, mode-toggle + the 311-line shell). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
26 lines
1.0 KiB
C++
26 lines
1.0 KiB
C++
// DragonX Wallet - ImGui Edition
|
|
// Copyright 2024-2026 The Hush Developers
|
|
// Released under the GPLv3
|
|
|
|
#pragma once
|
|
|
|
#include "../../data/wallet_state.h"
|
|
#include "imgui.h"
|
|
|
|
namespace dragonx {
|
|
class App;
|
|
namespace ui {
|
|
|
|
// Renders the mining "Mode toggle" (SOLO | POOL segmented control + pool URL/worker inputs).
|
|
// Extracted verbatim from the monolithic mining tab. The state it mutates is passed BY REFERENCE:
|
|
// the pool-mode flag, the pool URL / worker text buffers, and the settings-dirty flag (named with
|
|
// their original identifiers so the moved body is byte-identical).
|
|
void RenderMiningModeToggle(App* app, const WalletState& state, const MiningInfo& mining,
|
|
ImDrawList* dl, ImFont* capFont, ImFont* ovFont,
|
|
float dp, float hs, float gap, float availWidth,
|
|
bool& s_pool_mode, char (&s_pool_url)[256], char (&s_pool_worker)[256],
|
|
bool& s_pool_settings_dirty);
|
|
|
|
} // namespace ui
|
|
} // namespace dragonx
|