Sélectionner une révision Git
-
Karl Blomster a rédigé
change the ffmpeg includes to libav*/*.h for good this time, but you can still define WITH_OLD_FFMPEG to get the old includes. Originally committed to SVN as r2398.
Karl Blomster a rédigéchange the ffmpeg includes to libav*/*.h for good this time, but you can still define WITH_OLD_FFMPEG to get the old includes. Originally committed to SVN as r2398.
VivyApplication.hh 2,33 Kio
#pragma once
#ifndef __cplusplus
#error "This is a C++ header"
#endif
#define vivyApp static_cast<VivyApplication *>(QApplication::instance())
#define currentVivyDocument() dynamic_cast<VivyDocument *>(vivyApp->getCurrentDocument())
#define currentScriptDocument dynamic_cast<ScriptDocument *>(vivyApp->getCurrentDocument())
// 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_RENAME ":icons/dark/document-rename.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"
#define VIVY_ICON_PLAY ":icons/dark/media-play.svg"
#define VIVY_ICON_PAUSE ":icons/dark/media-pause.svg"
#define VIVY_ICON_STOP ":icons/dark/media-stop.svg"
#define VIVY_ICON_RUN ":icons/dark/run.svg"
// Detect MacOS
#if defined(Q_OS_DARWIN) || defined(Q_OS_MACOS)
#define VIVY_MACOS
#endif
#include "Lib/Script/ScriptStore.hh"
#include "Lib/Document/VivyDocumentStore.hh"
#include "UI/MainWindow.hh"
namespace Vivy
{
class MainWindow;
// Vivy application class
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;
std::unique_ptr<MainWindow> mainWindowPtr{ nullptr };
bool useFakeVim{ false };
public:
VivyApplication(int &argc, char **argv);
int exec() noexcept;
[[nodiscard]] QFont getApplicationFont(Font) const noexcept;
[[nodiscard]] MainWindow *getMainWindow() const;
[[nodiscard]] AbstractDocument *getCurrentDocument() const;
[[nodiscard]] bool getUseFakeVimEditor() const noexcept;
void setUseFakeVimEditor(bool) noexcept;
void setTheme(Theme) noexcept;
};
}