Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 92f43d7bedccbf38bf27edf21f83945ca9d4274f
  • master par défaut
  • script
  • new-devel
  • devel
  • timingView-edit
  • fix-mpv
7 résultats

VivyApplication.hh

Blame
  • VivyApplication.hh 1,55 Kio
    #pragma once
    
    #ifndef __cplusplus
    #error "This is a C++ header"
    #endif
    
    #define vivyApp static_cast<VivyApplication *>(QApplication::instance())
    
    // Only support dark theme for now
    #define VIVY_ICON_APP     ":icons/vivy.png"
    #define VIVY_ICON_SCRIPT  ":icons/lua.png"
    #define VIVY_ICON_OPEN    ":icons/dark/document-open.svg"
    #define VIVY_ICON_NEW     ":icons/dark/document-new.svg"
    #define VIVY_ICON_SAVE    ":icons/dark/document-save.svg"
    #define VIVY_ICON_SAVE_AS ":icons/dark/document-save-as.svg"
    #define VIVY_ICON_ABOUT   ":icons/dark/help-about.svg"
    #define VIVY_ICON_FILE    ":icons/dark/text-x-generic.svg"
    #define VIVY_ICON_FOLDER  ":icons/dark/folder.svg"
    
    #include <QApplication>
    #include <QPixmap>
    #include <QFont>
    
    // Detect MacOS
    #if defined(Q_OS_DARWIN) || defined(Q_OS_MACOS)
    #define VIVY_MACOS
    #endif
    
    #include "Lib/Document/VivyDocumentStore.hh"
    
    namespace Vivy
    {
    class VivyApplication : public QApplication {
        Q_OBJECT
    
    public:
        VivyDocumentStore documentStore{};
        ScriptStore scriptStore{};
    
        enum class Font {
            Monospace,
            MonospaceBold,
            Default,
            DefaultItalic,
            DefaultBold,
            DefaultBoldItalic,
        };
    
        enum class Theme {
            System,
            Dark,
            Light,
        };
    
    private:
        int fontIdMonospace;
        int fontIdMonospaceBold;
        int fontIdRegular;
        int fontIdItalic;
        int fontIdBold;
        int fontIdBoldItalic;
    
    public:
        VivyApplication(int &argc, char **argv);
    
        int exec() noexcept;
    
        QFont getApplicationFont(Font) const noexcept;
        void setTheme(Theme) noexcept;
    };
    
    }