diff --git a/media-gfx/krita/additional-files/icons.zip b/media-gfx/krita/additional-files/icons.zip
new file mode 100644
index 000000000..2968f7d97
Binary files /dev/null and b/media-gfx/krita/additional-files/icons.zip differ
diff --git a/media-gfx/krita/krita-4.4.1.recipe b/media-gfx/krita/krita-4.4.1.recipe
index 2cb472e72..f9a2a3259 100644
--- a/media-gfx/krita/krita-4.4.1.recipe
+++ b/media-gfx/krita/krita-4.4.1.recipe
@@ -6,12 +6,15 @@ layers and masks, group-based layer management, vector artwork support and switc
HOMEPAGE="https://www.krita.org/"
COPYRIGHT="2010-2020 KDE Organisation"
LICENSE="GNU LGPL v2"
-REVISION="2"
+REVISION="3"
SOURCE_URI="https://download.kde.org/stable/krita/$portVersion/krita-$portVersion.tar.gz"
CHECKSUM_SHA256="6f2daf068e4e5cef8a738ab47da443dc82ad1463090a4a1544b35201272c3817"
SOURCE_DIR="krita-$portVersion"
PATCHES="krita-$portVersion.patchset"
-ADDITIONAL_FILES="krita.rdef.in"
+ADDITIONAL_FILES="
+ krita.rdef.in
+ icons.zip
+ "
ARCHITECTURES="!x86_gcc2 x86_64"
SECONDARY_ARCHITECTURES="x86"
@@ -141,8 +144,14 @@ BUILD_PREREQUIRES="
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python3
+ cmd:unzip
"
+PATCH()
+{
+ unzip -o $sourceDir/../../additional-files/icons.zip -d $sourceDir
+}
+
BUILD()
{
mkdir -p build
diff --git a/media-gfx/krita/patches/krita-4.4.1.patchset b/media-gfx/krita/patches/krita-4.4.1.patchset
index a95075c87..06bfe5c6e 100644
--- a/media-gfx/krita/patches/krita-4.4.1.patchset
+++ b/media-gfx/krita/patches/krita-4.4.1.patchset
@@ -1,11 +1,11 @@
-From 8efae06743f1b685f59847db22a99b3b0edd2eda Mon Sep 17 00:00:00 2001
+From 2a67d81ba9e9945aafb6c530b27a032cfa803998 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 15 Oct 2020 11:45:23 +1000
Subject: Fix haiku build
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 60a5b88..f0c59ad 100644
+index 3746767..86e3894 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -408,7 +408,7 @@ set_package_properties(Qt5QuickWidgets PROPERTIES
@@ -18,7 +18,7 @@ index 60a5b88..f0c59ad 100644
find_package(Qt5 ${MIN_QT_VERSION} REQUIRED X11Extras)
diff --git a/krita/main.cc b/krita/main.cc
-index c1f492a..5c09734 100644
+index 3fd1595..898fd49 100644
--- a/krita/main.cc
+++ b/krita/main.cc
@@ -333,6 +333,9 @@ extern "C" int main(int argc, char **argv)
@@ -31,7 +31,7 @@ index c1f492a..5c09734 100644
#else
qputenv("XDG_DATA_DIRS", QFile::encodeName(root + "share"));
#endif
-@@ -472,6 +475,12 @@ extern "C" int main(int argc, char **argv)
+@@ -495,6 +498,12 @@ extern "C" int main(int argc, char **argv)
}
@@ -44,7 +44,7 @@ index c1f492a..5c09734 100644
#if defined HAVE_KCRASH
KCrash::initialize();
#elif defined USE_DRMINGW
-@@ -627,6 +636,8 @@ extern "C" int main(int argc, char **argv)
+@@ -650,6 +659,8 @@ extern "C" int main(int argc, char **argv)
if (logUsage) {
KisUsageLogger::close();
}
@@ -178,3 +178,167 @@ index db5e216..49b098e 100644
--
2.28.0
+
+From 9d98639fc9b7257e1752ffca5609bcf90e3adcee Mon Sep 17 00:00:00 2001
+From: Gerasim Troeglazov <3dEyes@gmail.com>
+Date: Thu, 31 Dec 2020 12:18:11 +1000
+Subject: Add icons for configure
+
+
+diff --git a/krita/pics/Breeze-dark/breeze-dark-icons.qrc b/krita/pics/Breeze-dark/breeze-dark-icons.qrc
+index 22a8f23..9bb0b08 100644
+--- a/krita/pics/Breeze-dark/breeze-dark-icons.qrc
++++ b/krita/pics/Breeze-dark/breeze-dark-icons.qrc
+@@ -13,7 +13,6 @@
+ dark_arrow-right.svg
+ dark_arrow-up.svg
+ dark_bookmarks.svg
+- dark_applications-system.svg
+ dark_configure.svg
+ dark_configure.svg
+ dark_dialog-cancel.svg
+@@ -23,6 +22,7 @@
+ dark_document-edit.svg
+ dark_document-export.svg
+ dark_document-import.svg
++ dark_configure-shortcuts.svg
+ dark_document-new.svg
+ dark_document-open-recent.svg
+ dark_document-open.svg
+diff --git a/krita/pics/Breeze-light/breeze-light-icons.qrc b/krita/pics/Breeze-light/breeze-light-icons.qrc
+index a7688a6..54f8da1 100644
+--- a/krita/pics/Breeze-light/breeze-light-icons.qrc
++++ b/krita/pics/Breeze-light/breeze-light-icons.qrc
+@@ -13,7 +13,7 @@
+ light_arrow-right.svg
+ light_arrow-up.svg
+ light_bookmarks.svg
+- light_applications-system.svg
++ light_configure-shortcuts.svg
+ light_configure.svg
+ light_configure.svg
+ light_dialog-cancel.svg
+--
+2.28.0
+
+
+From e29a81e0130e5e17b40c23c027120130d0c9450f Mon Sep 17 00:00:00 2001
+From: Gerasim Troeglazov <3dEyes@gmail.com>
+Date: Thu, 31 Dec 2020 12:25:08 +1000
+Subject: Use configure-shortcuts instead document-export icon
+
+
+diff --git a/libs/ui/dialogs/kis_dlg_preferences.cc b/libs/ui/dialogs/kis_dlg_preferences.cc
+index c7a1e9c..8849648 100644
+--- a/libs/ui/dialogs/kis_dlg_preferences.cc
++++ b/libs/ui/dialogs/kis_dlg_preferences.cc
+@@ -1463,7 +1463,7 @@ KisDlgPreferences::KisDlgPreferences(QWidget* parent, const char* name)
+ page = new KPageWidgetItem(vbox, i18n("Keyboard Shortcuts"));
+ page->setObjectName("shortcuts");
+ page->setHeader(i18n("Shortcuts"));
+- page->setIcon(KisIconUtils::loadIcon("document-export"));
++ page->setIcon(KisIconUtils::loadIcon("configure-shortcuts"));
+ m_pages << page;
+ addPage(page);
+ m_shortcutSettings = new ShortcutSettingsTab(vbox);
+--
+2.28.0
+
+
+From 18dc0a9ab3429a1992ae4aca9e9a692c998c915b Mon Sep 17 00:00:00 2001
+From: Gerasim Troeglazov <3dEyes@gmail.com>
+Date: Thu, 31 Dec 2020 12:25:28 +1000
+Subject: Use haiku style
+
+
+diff --git a/libs/ui/KisApplication.cpp b/libs/ui/KisApplication.cpp
+index 7bfed5e..13b870b 100644
+--- a/libs/ui/KisApplication.cpp
++++ b/libs/ui/KisApplication.cpp
+@@ -164,7 +164,7 @@ KisApplication::KisApplication(const QString &key, int &argc, char **argv)
+ setWindowIcon(KisIconUtils::loadIcon("krita"));
+
+ if (qgetenv("KRITA_NO_STYLE_OVERRIDE").isEmpty()) {
+- QStringList styles = QStringList() << "breeze" << "fusion" << "plastique";
++ QStringList styles = QStringList() << "haiku" << "breeze" << "fusion" << "plastique";
+ if (!styles.contains(style()->objectName().toLower())) {
+ Q_FOREACH (const QString & style, styles) {
+ if (!setStyle(style)) {
+--
+2.28.0
+
+
+From d6667313dd80d260aa0142499e13fbf65c3b857e Mon Sep 17 00:00:00 2001
+From: Gerasim Troeglazov <3dEyes@gmail.com>
+Date: Thu, 31 Dec 2020 14:20:31 +1000
+Subject: Use system colors
+
+
+diff --git a/libs/ui/KisMainWindow.cpp b/libs/ui/KisMainWindow.cpp
+index e1991b2..e72cbaa 100644
+--- a/libs/ui/KisMainWindow.cpp
++++ b/libs/ui/KisMainWindow.cpp
+@@ -279,9 +279,9 @@ public:
+ KoToolDocker *toolOptionsDocker {0};
+
+ QCloseEvent *deferredClosingEvent {0};
+-
++#ifndef Q_OS_HAIKU
+ Digikam::ThemeManager *themeManager {0};
+-
++#endif
+ QScrollArea *welcomeScroller {0};
+ KisWelcomePageWidget *welcomePage {0};
+
+@@ -335,8 +335,9 @@ KisMainWindow::KisMainWindow(QUuid uuid)
+
+ d->viewManager = new KisViewManager(this, actionCollection());
+ KConfigGroup group( KSharedConfig::openConfig(), "theme");
++#ifndef Q_OS_HAIKU
+ d->themeManager = new Digikam::ThemeManager(group.readEntry("Theme", "Krita dark"), this);
+-
++#endif
+ d->windowStateConfig = KSharedConfig::openConfig()->group("MainWindow");
+
+ setStandardToolBarMenuEnabled(true);
+@@ -764,8 +765,9 @@ void KisMainWindow::slotThemeChanged()
+ {
+ // save theme changes instantly
+ KConfigGroup group( KSharedConfig::openConfig(), "theme");
++#ifndef Q_OS_HAIKU
+ group.writeEntry("Theme", d->themeManager->currentThemeName());
+-
++#endif
+ // reload action icons!
+ Q_FOREACH (QAction *action, actionCollection()->actions()) {
+ KisIconUtils::updateIcon(action);
+@@ -2549,7 +2551,9 @@ void KisMainWindow::configChanged()
+ #endif
+
+ KConfigGroup group( KSharedConfig::openConfig(), "theme");
++#ifndef Q_OS_HAIKU
+ d->themeManager->setCurrentTheme(group.readEntry("Theme", "Krita dark"));
++#endif
+ d->actionManager()->updateGUI();
+
+ QString s = cfg.getMDIBackgroundColor();
+@@ -2750,14 +2754,14 @@ void KisMainWindow::createActions()
+ d->showDocumentInfo = actionManager->createAction("file_documentinfo");
+ connect(d->showDocumentInfo, SIGNAL(triggered(bool)), this, SLOT(slotDocumentInfo()));
+
+-
++#ifndef Q_OS_HAIKU
+ d->themeManager->setThemeMenuAction(new KActionMenu(i18nc("@action:inmenu", "&Themes"), this));
+ d->themeManager->registerThemeActions(actionCollection());
+ connect(d->themeManager, SIGNAL(signalThemeChanged()), this, SLOT(slotThemeChanged()));
+
+
+ connect(d->themeManager, SIGNAL(signalThemeChanged()), d->welcomePage, SLOT(slotUpdateThemeColors()));
+-
++#endif
+ d->toggleDockers = actionManager->createAction("view_toggledockers");
+ KisConfig(true).showDockers(true);
+ d->toggleDockers->setChecked(true);
+--
+2.28.0
+