Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

1iqueen/Sundial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

Sundial - Windows Timeline Application

A lightweight Windows desktop application for managing time-based events on a visual timeline. Built with pure Win32 API.

screenshot

Features

  • Visual Timeline: 24-hour timeline starting from 8:00 AM with 10-minute slots
  • Event Management: Add, edit, and delete timeline entries with custom durations
  • Zoom: Scale the timeline from 50% to 300% using Shift + Mouse Wheel or Shift + Arrow Keys
  • Scrolling: Drag to scroll, or use A/D keys for horizontal navigation
  • Auto-tracking: Timeline automatically scrolls to show current time
  • Overlap Detection: Visual feedback (diagonal stripes) when time slots overlap
  • Smart Display: Event blocks show time range only when space permits (3+ slots)
  • Past Time Indicator: Grayed-out area indicates past, unavailable time slots

Keyboard Shortcuts

Key Action
A Scroll left
D Scroll right
Shift + Left/Right Zoom in/out
Shift + Mouse Wheel Zoom in/out
Escape Cancel current operation

System Requirements

  • Windows 7 or later
  • No additional runtime dependencies required

Building from Source

Prerequisites

  • GCC (MinGW) with C++17 support
  • Windows SDK

Compile

g++ -o sundial.exe main.cpp -std=c++17 -O2 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -municode -mwindows -finput-charset=UTF-8 -fexec-charset=UTF-8 -static

Or use the provided build script:

.\build.bat

Usage

  1. Run sundial.exe
  2. Add Event: Right-click on the timeline to open the dialog, then drag to select a time range
  3. Edit Event: Left-click on an existing event block
  4. Delete Event: Click on an event and select "Delete" when prompted
  5. Scroll: Click and drag or use A/D keys
  6. Zoom: Hold Shift and use mouse wheel or arrow keys

Project Structure

sundial/
├── main.cpp # Main application source code
├── README.md # This file
└── LICENSE # MIT License

Configuration

Data is saved to %APPDATA%\sundial\data.txt in a simple text format.

License

MIT License - See LICENSE for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /