Skip to content

CalcPlusPlus v1.0.0 - Initial Release

Latest

Choose a tag to compare

@CodeWithBotinaOficial CodeWithBotinaOficial released this 02 Nov 03:44
· 1 commit to main since this release

🧮 CalcPlusPlus v1.0.0 — Initial Release

We are thrilled to announce the first official release of CalcPlusPlus, a modern, GUI-based scientific calculator built with Qt6 and C++!
This version brings a polished user interface, enhanced performance, and full Debian packaging automation for a seamless installation experience.


✨ New Features & Enhancements

🖥️ User Interface (UI/UX)

  • Modern Two-Line Display:
    The calculator now clearly shows the full mathematical expression being entered (e.g., 70 × 2) above the current number or result.

  • Dynamic Result View:

    • While typing, the expressionLabel dynamically updates with the ongoing operation, and the resultLabel shows the current input.
    • When pressing =, the complete operation (70 × 2 =) remains visible in a smaller, semi-transparent font, while the final result (140) appears below in a larger, bold font.
  • Integrated History Panel:
    The old popup history has been replaced with a scrollable, dockable side panel (QDockWidget) that blends seamlessly with the main window.

    • Each history entry displays both the operation and its result, styled with clear typography.
    • Clicking a history item restores that expression to the main display for reuse or continued calculation.
    • Includes a dedicated “Clear History” button.
  • Custom Alert System:
    All generic QMessageBox alerts were replaced with a dark-themed, animated CustomAlert dialog with rounded corners and smooth transitions.

  • Consistent Aesthetics:
    Unified dark mode theme with refined fonts, consistent margins, shadows, and contrast levels to deliver a clean, professional look.


⚙️ Core Functionality

  • Robust Calculation Engine:
    The CalculatorCore has been improved with a refined QRegularExpression pattern to handle operators like ×, ÷, and x^y seamlessly.
  • Error Handling:
    Prevents crashes during invalid expressions, division/modulo by zero, or malformed syntax. All handled gracefully with descriptive alerts.
  • Persistent History:
    Each operation is stored in an SQLite database (calc_history.db) and loaded automatically when the app starts.

📦 Packaging & Distribution

  • Debian (.deb) Package Generation:
    Fully automated .deb package creation via CMake + CPack for easy installation.
  • System-wide Installation:
    Installs binary, .desktop launcher, and icon (calcplusplus.png) to the correct Linux paths.
  • Automated CI/CD Release:
    GitHub Actions automatically builds, packages, and uploads the .deb file to GitHub Releases and GitHub Packages whenever a new tag is published.

🛠️ Technical Details

  • Written in C++17 and Qt6 (Core, GUI, Widgets, SQL).
  • Uses CMake as the build system.
  • Compatible with Ubuntu 20.04+ (x86_64).
  • Persistent history powered by SQLite.
  • All assets and UI integrated natively (no external dependencies).

📥 Installation

To install CalcPlusPlus on Ubuntu or Debian-based systems:

# Download from GitHub Releases
wget https://github.com/CodeWithBotinaOficial/CalcPlusPlus/releases/download/v1.0.0/calcplusplus_1.0.0_amd64.deb

# Install with dpkg
sudo dpkg -i calcplusplus_1.0.0_amd64.deb

# Fix any missing dependencies (if needed)
sudo apt -f install

After installation, launch it from your app menu or via terminal:

calcplusplus

A desktop shortcut is automatically added for convenience.


🧰 Contributing

We welcome feedback, bug reports, and feature suggestions!
You can open issues or pull requests directly on GitHub:
👉 CalcPlusPlus Repository


🧑‍💻 Author

Developed by: Diego Alejandro Botina (aka CodeWithBotina)
Release Year: 2025
License: MIT


❤️ Thank You

Thank you for supporting open and independent development!
CalcPlusPlus aims to bring performance, elegance, and reliability together — a modern calculator for the next generation of Linux users.