Skip to content

fix: qt info tab layout#7211

Merged
PastaPastaPasta merged 2 commits intodashpay:developfrom
PastaPastaPasta:fix/qt-info-tab-layout
Mar 12, 2026
Merged

fix: qt info tab layout#7211
PastaPastaPasta merged 2 commits intodashpay:developfrom
PastaPastaPasta:fix/qt-info-tab-layout

Conversation

@PastaPastaPasta
Copy link
Member

Issue being fixed or feature implemented

  • The Network sub-tab in the Information page had a broken layout: ChainLocks was stranded in a separate bottom grid, leaving a large dead-space gap below Masternodes.
  • Switching between the General/Network and Governance sub-tabs caused visible text "jiggle" because the Governance grid had double margins (its leftPanel wrapper added an extra layer of default ~9px margins).

Before:
Screenshot 2026-03-11 at 23 50 00

After:
Screenshot 2026-03-11 at 23 48 28

What was done?

  • Commit 1: Moved ChainLocks from a standalone bottomGridLayout into the existing leftGridLayout (below Masternodes), creating a single continuous left column. Removed the now-unused bottom grid, its vertical spacer, and the showEvent override that synced column widths between the two grids.
  • Commit 2: Zeroed the inner gridLayoutGovernance margins in proposalinfo.ui so only the outer QHBoxLayout margins control spacing, matching the margin structure of the General and Network tabs.

How Has This Been Tested?

  • Built dash-qt and visually verified:
    • Network tab: all five sections (Credit Pool, InstantSend, Masternodes, ChainLocks, Quorums) display in a clean two-column layout with no dead space.
    • Switching between General, Network, and Governance sub-tabs: labels stay aligned with no jiggle.
    • Governance tab: donut chart and left panel render correctly with consistent margins.

Breaking Changes

None.

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation
  • I have assigned this pull request to a milestone (for repository code-owners and collaborators only)

@PastaPastaPasta PastaPastaPasta changed the title Fix/qt info tab layout fix: qt info tab layout Mar 12, 2026
@github-actions
Copy link

github-actions bot commented Mar 12, 2026

✅ No Merge Conflicts Detected

This PR currently has no conflicts with other open PRs.

Move ChainLocks from a separate bottom grid into the left column grid, eliminating the dead space between Masternodes and ChainLocks. Remove the now-unnecessary showEvent column-width sync.
The leftPanel widget in proposalinfo.ui wrapped the governance grid in an extra layer of default margins, offsetting labels vs General/Network tabs. Zero the inner grid margins so the outer QHBoxLayout margins alone control spacing.
@PastaPastaPasta PastaPastaPasta force-pushed the fix/qt-info-tab-layout branch from 63117ff to c1f9135 Compare March 12, 2026 04:51
@coderabbitai
Copy link

coderabbitai bot commented Mar 12, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 4a570058-76e7-47dd-a8eb-ff2cea20214d

📥 Commits

Reviewing files that changed from the base of the PR and between 259cf95 and c1f9135.

📒 Files selected for processing (4)
  • src/qt/forms/networkwidget.ui
  • src/qt/forms/proposalinfo.ui
  • src/qt/networkwidget.cpp
  • src/qt/networkwidget.h
💤 Files with no reviewable changes (1)
  • src/qt/networkwidget.h

Walkthrough

The network widget's layout structure is reorganized by moving ChainLocks-related UI elements from a separate bottom grid layout into the left grid layout. The custom showEvent() handler that previously synchronized layout widths between grids is removed, along with its associated event-time synchronization logic. Additional spacing adjustments are applied to the proposal info governance grid through explicit margin settings.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix: qt info tab layout' directly relates to the main changes: fixing Qt UI layout issues in the Information tab by reorganizing ChainLocks placement and correcting margin issues.
Description check ✅ Passed The description comprehensively explains the layout issues, what was changed (moving ChainLocks, removing showEvent override, zeroing governance margins), testing performed, and includes before/after screenshots demonstrating the fix.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@PastaPastaPasta PastaPastaPasta requested a review from kwvg March 12, 2026 05:04
@UdjinM6 UdjinM6 added this to the 23.1.2 milestone Mar 12, 2026
Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

light ACK c1f9135

Copy link
Collaborator

@kwvg kwvg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK c1f9135

@PastaPastaPasta PastaPastaPasta merged commit 689fd57 into dashpay:develop Mar 12, 2026
80 of 85 checks passed
thepastaclaw pushed a commit to thepastaclaw/dash that referenced this pull request Mar 12, 2026
c1f9135 fix(qt): eliminate Governance tab margin mismatch causing jiggle (pasta)
6cf7259 fix(qt): consolidate Network tab layout into two-column grid (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  - The Network sub-tab in the Information page had a broken layout: ChainLocks was stranded in a separate bottom grid, leaving a large dead-space gap below Masternodes.
  - Switching between the General/Network and Governance sub-tabs caused visible text "jiggle" because the Governance grid had double margins (its `leftPanel` wrapper added an extra layer of default ~9px margins).

  Before:
  <img width="2168" height="1397" alt="Screenshot 2026-03-11 at 23 50 00" src="proxy.php?url=https://github.com/user-attachments/assets/f90d6b87-6b75-4df3-8119-d1cdaabcd93b" />

  After:
  <img width="2168" height="1397" alt="Screenshot 2026-03-11 at 23 48 28" src="proxy.php?url=https://github.com/user-attachments/assets/87c39596-dbb6-4e03-b0de-deb200c300b1" />

  ## What was done?
  - **Commit 1**: Moved ChainLocks from a standalone `bottomGridLayout` into the existing `leftGridLayout` (below Masternodes), creating a single continuous left column. Removed the now-unused bottom grid, its vertical spacer, and the `showEvent` override that synced column widths between the two grids.
  - **Commit 2**: Zeroed the inner `gridLayoutGovernance` margins in `proposalinfo.ui` so only the outer `QHBoxLayout` margins control spacing, matching the margin structure of the General and Network tabs.

  ## How Has This Been Tested?
  - Built `dash-qt` and visually verified:
    - Network tab: all five sections (Credit Pool, InstantSend, Masternodes, ChainLocks, Quorums) display in a clean two-column layout with no dead space.
    - Switching between General, Network, and Governance sub-tabs: labels stay aligned with no jiggle.
    - Governance tab: donut chart and left panel render correctly with consistent margins.

  ## Breaking Changes
  None.

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    light ACK c1f9135
  kwvg:
    ACK c1f9135

Tree-SHA512: cb82986e17c940013af0fb83745a5a0078563248966acffa7abd8975ab2810bbb239179705fb291d02464c260e474344b68f50ab7a8f63c822ac1df858633e62
thepastaclaw pushed a commit to thepastaclaw/dash that referenced this pull request Mar 14, 2026
c1f9135 fix(qt): eliminate Governance tab margin mismatch causing jiggle (pasta)
6cf7259 fix(qt): consolidate Network tab layout into two-column grid (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  - The Network sub-tab in the Information page had a broken layout: ChainLocks was stranded in a separate bottom grid, leaving a large dead-space gap below Masternodes.
  - Switching between the General/Network and Governance sub-tabs caused visible text "jiggle" because the Governance grid had double margins (its `leftPanel` wrapper added an extra layer of default ~9px margins).

  Before:
  <img width="2168" height="1397" alt="Screenshot 2026-03-11 at 23 50 00" src="proxy.php?url=https://github.com/user-attachments/assets/f90d6b87-6b75-4df3-8119-d1cdaabcd93b" />

  After:
  <img width="2168" height="1397" alt="Screenshot 2026-03-11 at 23 48 28" src="proxy.php?url=https://github.com/user-attachments/assets/87c39596-dbb6-4e03-b0de-deb200c300b1" />

  ## What was done?
  - **Commit 1**: Moved ChainLocks from a standalone `bottomGridLayout` into the existing `leftGridLayout` (below Masternodes), creating a single continuous left column. Removed the now-unused bottom grid, its vertical spacer, and the `showEvent` override that synced column widths between the two grids.
  - **Commit 2**: Zeroed the inner `gridLayoutGovernance` margins in `proposalinfo.ui` so only the outer `QHBoxLayout` margins control spacing, matching the margin structure of the General and Network tabs.

  ## How Has This Been Tested?
  - Built `dash-qt` and visually verified:
    - Network tab: all five sections (Credit Pool, InstantSend, Masternodes, ChainLocks, Quorums) display in a clean two-column layout with no dead space.
    - Switching between General, Network, and Governance sub-tabs: labels stay aligned with no jiggle.
    - Governance tab: donut chart and left panel render correctly with consistent margins.

  ## Breaking Changes
  None.

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    light ACK c1f9135
  kwvg:
    ACK c1f9135

Tree-SHA512: cb82986e17c940013af0fb83745a5a0078563248966acffa7abd8975ab2810bbb239179705fb291d02464c260e474344b68f50ab7a8f63c822ac1df858633e62
PastaPastaPasta added a commit that referenced this pull request Mar 14, 2026
 into v23.1.x

da16809 docs: add #7221 and #7222 to v23.1.2 release notes (PastaClaw)
8a93926 Merge #7222: fix: properly skip evodb repair on reindex (pasta)
b74b549 Merge #7221: refactor: rename bitcoin-util manpage and test references to dash-util (pasta)
81464ac Merge #7211: fix: qt info tab layout (pasta)
7c27c2f Merge #7209: fix: serialize TrySignChainTip to prevent concurrent signing race (pasta)
81d5eb2 Merge #7208: fix: skip collecting block txids during IBD to prevent unbounded memory growth (pasta)

Pull request description:

  ## Backport

  Cherry-picks of #7208, #7209, #7211, #7221, and #7222 into `v23.1.x` for v23.1.2.

  ### Included

  - #7208 — `fix: skip collecting block txids during IBD to prevent unbounded memory growth`
  - #7209 — `fix: serialize TrySignChainTip to prevent concurrent signing race`
  - #7211 — `fix: qt info tab layout`
  - #7221 — `refactor: rename bitcoin-util manpage and test references to dash-util`
  - #7222 — `fix: properly skip evodb repair on reindex`

ACKs for top commit:
  UdjinM6:
    utACK da16809

Tree-SHA512: bbe74a62fd34bdcaece22100050072706774854db47d61af644700ca063e2a3cdfd474fa451681861bf1a6e91436ebd3715838640fc992fbba7c2b57b4f02760
PastaPastaPasta added a commit that referenced this pull request Mar 16, 2026
da16809 docs: add #7221 and #7222 to v23.1.2 release notes (PastaClaw)
8a93926 Merge #7222: fix: properly skip evodb repair on reindex (pasta)
b74b549 Merge #7221: refactor: rename bitcoin-util manpage and test references to dash-util (pasta)
81464ac Merge #7211: fix: qt info tab layout (pasta)
7c27c2f Merge #7209: fix: serialize TrySignChainTip to prevent concurrent signing race (pasta)
81d5eb2 Merge #7208: fix: skip collecting block txids during IBD to prevent unbounded memory growth (pasta)
d02243c ci: run check-skip on blacksmith with GitHub-hosted fallback (PastaClaw)
033b3fe chore: regenerate manpages for v23.1.2 (PastaClaw)
ff965b5 chore: v23.1.2 release preparation (PastaClaw)
8d5936d chore: add #7191 and #7193 to v23.1.1 release notes (PastaClaw)
9f3662b chore: v23.1.1 release preparation (PastaClaw)
5dbfa98 chore: v23.1.1 release preparation (PastaClaw)
240a95f Merge #7193: fix: reject identity elements in deserialization and key generation (pasta)
444cbf2 Merge #7191: fix(qt): reseat quorum labels when new types are inserted (pasta)
00f590d Merge #7180: qt: add Tahoe styled icons for macOS, runtime styling for each network type, update bundle icon, add mask-based tray icon, generation scripts (pasta)
60dda51 Merge #7176: perf: do linear lookup instead building 2 heavy Hash-Maps (pasta)
df1ca87 Merge #7159: feat(qt): UI refresh (5/n, add proposal information widget to information, donut chart for proposal allocation) (pasta)
9061ad0 Merge #7118: feat(qt): UI refresh (4/n, introduce distinct widgets for Dash-specific reporting in debug window) (pasta)
64cc4f2 Merge #7160: feat(interfaces): consolidate masternode counts into one struct, expose chainlock, instantsend, credit pool, quorum statistics (pasta)
5d28a69 Merge #7157: fix(qt): prevent banned masternodes from returning status=0 (pasta)
e0b7386 Merge #7146: feat(qt): introduce framework for sourcing and applying data, use for `{Masternode,Proposal}List`s (pasta)
8fd53cd Merge #7144: feat(qt): add support for reporting `OP_RETURN` payloads as Data Transactions (pasta)
cc6f0bb Merge #7154: fix: MN update notifications had old_list/new_list swapped (pasta)
33f0138 Merge #7145: fix(qt): move labelError styling from proposalcreate.ui into general.css (pasta)
1bdbde6 Merge #7148: feat(qt): persist filter preferences in masternode list (pasta)
96bb601 Merge #7147: fix(qt): prevent overview page font double scaling, recalculate minimum width correctly, `SERVICE` and `STATUS` sorting, fix common types filtering (pasta)
da1e336 build: expand minimum Darwin version to macOS 11 (Big Sur) (Kittywhiskers Van Gogh)

Pull request description:

  ## Issue being fixed or feature implemented
  Note: Skipping changes from #7149 which was for the v23.1.x only.

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes

  ## Checklist:
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  kwvg:
    utACK 36988f9

Tree-SHA512: f5bf8f0af11379bbcea606108ee90af08c16f588ebdbfac1fdd567adfcad14926b9c797c8fa6b398fb65fc3210c5f2c084015ea07718371df04e2412625f42d4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants