// ============================================================================
//  calculator_mainwindow —— Day3 上午版程序入口
//  对应教案 OUTLINE_4DAY.md Day3 上午「QMainWindow / 对话框 QDialog」。
//
//  把 Day2 增强版计算器（CalculatorDesigner，QWidget）装进 QMainWindow：
//    - 菜单栏（文件/编辑/视图/帮助，纯代码 + 显式 connect）
//    - 历史停靠窗（QDockWidget + QListWidget，订阅 evaluated 信号）
//    - 状态栏（就绪 / 结果临时提示）
//  离屏自测覆盖 Day2 全部 9 组计算用例 + Day3 新增（历史追加/双击回填/清空）。
// ============================================================================
#include <QApplication>
#include <QTimer>

#include "mainwindow.h"

int main(int argc, char* argv[]) {
    QApplication app(argc, argv);
    MainWindow w;
    w.show();

    if (qgetenv("QT_QPA_PLATFORM") == "offscreen") {
        QTimer::singleShot(0, &w, [&w] {
            const bool ok = w.runSelfTest();
            QCoreApplication::exit(ok ? 0 : 1);
        });
    }
    return app.exec();
}
