Skip to content

Commit 72ec5b3

Browse files
committed
feat: Add --dark flag to iv for Dark Mode
Signed-off-by: sh4shv4t <shashvat.kk@gmail.com> Signed-off-by: sh4shv4t <shashvat.k.singh.16@gmail.com>
1 parent 8a39d36 commit 72ec5b3

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/iv/ivmain.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
#include <iterator>
2020

2121
#include <QApplication>
22+
#include <QPalette>
23+
#include <QStyleFactory>
2224

2325
#include "imageviewer.h"
2426
#include <OpenImageIO/argparse.h>
@@ -58,6 +60,11 @@ getargs(int argc, char* argv[])
5860
ap.arg("--rawcolor")
5961
.help("Do not automatically transform to RGB");
6062

63+
ap.arg("--dark")
64+
.help("Start in dark mode")
65+
.dest("dark")
66+
.store_true();
67+
6168
ap.arg("--display")
6269
.help("OCIO display")
6370
.metavar("STRING")
@@ -109,6 +116,26 @@ main(int argc, char* argv[])
109116
// Q_INIT_RESOURCE(iv);
110117
QApplication app(argc, argv);
111118

119+
// Apply dark mode if requested
120+
if (ap["dark"].get<int>()) {
121+
app.setStyle(QStyleFactory::create("Fusion"));
122+
QPalette darkPalette;
123+
darkPalette.setColor(QPalette::Window, QColor(53, 53, 53));
124+
darkPalette.setColor(QPalette::WindowText, Qt::white);
125+
darkPalette.setColor(QPalette::Base, QColor(25, 25, 25));
126+
darkPalette.setColor(QPalette::AlternateBase, QColor(53, 53, 53));
127+
darkPalette.setColor(QPalette::ToolTipBase, Qt::white);
128+
darkPalette.setColor(QPalette::ToolTipText, Qt::white);
129+
darkPalette.setColor(QPalette::Text, Qt::white);
130+
darkPalette.setColor(QPalette::Button, QColor(53, 53, 53));
131+
darkPalette.setColor(QPalette::ButtonText, Qt::white);
132+
darkPalette.setColor(QPalette::BrightText, Qt::red);
133+
darkPalette.setColor(QPalette::Link, QColor(42, 130, 218));
134+
darkPalette.setColor(QPalette::Highlight, QColor(42, 130, 218));
135+
darkPalette.setColor(QPalette::HighlightedText, Qt::black);
136+
app.setPalette(darkPalette);
137+
}
138+
112139
std::string color_space = ap["image-color-space"].as_string("");
113140
std::string display = ap["display"].as_string("");
114141
std::string view = ap["view"].as_string("");

0 commit comments

Comments
 (0)