Skip to content

Add slim custom title bar and status path display#52

Merged
AlanRockefeller merged 1 commit intomainfrom
test
Mar 17, 2026
Merged

Add slim custom title bar and status path display#52
AlanRockefeller merged 1 commit intomainfrom
test

Conversation

@AlanRockefeller
Copy link
Copy Markdown
Owner

@AlanRockefeller AlanRockefeller commented Mar 14, 2026

Summary by CodeRabbit

Release Notes - Version 1.6.1

  • New Features
    • Redesigned frameless window with custom title bar featuring hover-revealed menus
    • Added custom minimize, maximize, and close buttons
    • Integrated zoom level indicator in the title bar
    • Added current directory path display in the status bar with tooltip
    • Improved image prefetching performance with expanded prefetch radius

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 14, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d40af4d4-02f4-46e2-bf09-a4cc36d10ed3

📥 Commits

Reviewing files that changed from the base of the PR and between ff5a6f8 and 3582be1.

📒 Files selected for processing (5)
  • ChangeLog.md
  • README.md
  • faststack/qml/Components.qml
  • faststack/qml/Main.qml
  • pyproject.toml

Walkthrough

This PR implements a custom frameless window UI for version 1.6.1, introducing a slim custom title bar with hover-revealed menus, window control buttons, a zoom indicator, and directory path display in the status bar. It exposes zoom scale properties from the image rotator component and updates version identifiers.

Changes

Cohort / File(s) Summary
Version Updates
ChangeLog.md, README.md, pyproject.toml
Updated version identifiers from 1.6.0 to 1.6.1 with changelog entries documenting new UI features and performance improvements.
Zoom State Exposure
faststack/qml/Components.qml
Added two readonly properties (currentZoomScale, currentFitScale) to expose internal image rotator zoom state to parent components.
Frameless Window & Custom UI
faststack/qml/Main.qml
Replaced standard window chrome with frameless window and custom title bar, including hover-revealed menu buttons, draggable window movement, window control buttons (minimize/maximize/close), zoom indicator label, directory path display in footer, custom resize handles, and layout adjustments to accommodate new title bar.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main changes: a custom title bar implementation and status path display feature added across multiple QML and configuration files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ 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
  • Commit unit tests in branch test
📝 Coding Plan
  • Generate coding plan for human review comments

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.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3582be1c5f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread faststack/qml/Main.qml
minimumWidth: 800
minimumHeight: 500
title: "FastStack - " + (uiState ? uiState.currentDirectory : "Loading...")
flags: Qt.FramelessWindowHint | Qt.Window | Qt.WindowMinMaxButtonsHint
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Restore maximized loupe windows after frameless mode

After introducing Qt.FramelessWindowHint, maximized windows on Windows can report Window.FullScreen (as your new isMaximized comment notes), but exitFullScreenLoupe() still only restores maximized state when savedWindowGeometry.visibility === Window.Maximized. In the common flow “maximize window -> enter loupe fullscreen -> exit loupe fullscreen”, the saved state is FullScreen, so the app now returns to a normal window instead of the previous maximized state.

Useful? React with 👍 / 👎.

@AlanRockefeller AlanRockefeller merged commit c65442a into main Mar 17, 2026
3 checks passed
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.

1 participant