From 1c041d524261f355e26866823c1311ab80acd08c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= <hugo@lysator.liu.se>
Date: Thu, 30 Mar 2023 18:57:41 +0200
Subject: [PATCH] Re-add runes.

---
 admin.desktop         |  0
 admin/StupanAdmin.pro |  5 ++---
 debian/changelog      |  6 ++++++
 debian/rules          | 20 ++++++++++++++------
 kassa.desktop         |  0
 kassa/StupanKassa.pro |  7 +++----
 kassa/main.cpp        | 35 ++++++++++++++++++++++++++++++++---
 7 files changed, 57 insertions(+), 16 deletions(-)
 mode change 100755 => 100644 admin.desktop
 mode change 100755 => 100644 kassa.desktop

diff --git a/admin.desktop b/admin.desktop
old mode 100755
new mode 100644
diff --git a/admin/StupanAdmin.pro b/admin/StupanAdmin.pro
index fb5891d..8b50ca3 100644
--- a/admin/StupanAdmin.pro
+++ b/admin/StupanAdmin.pro
@@ -11,10 +11,9 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 TARGET = stupan-admin
 TEMPLATE = app
 
-admin.path = /usr/bin
-admin.files = stupan-admin
+target.path = /usr/bin
 
-INSTALLS += admin
+INSTALLS += target
 
 QMAKE_CXXFLAGS += -Wall -pedantic
 
diff --git a/debian/changelog b/debian/changelog
index c91945f..10e88c6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+stupan (1.15-1) jammy; urgency=medium
+
+  * Re-implement rune easter egg. 
+
+ -- Hugo Hörnquist <hugo@lysator.liu.se>  Thu, 30 Mar 2023 18:46:03 +0200
+
 stupan (1.14.1-1) una; urgency=medium
 
   * debian changelog to better reflect reality.
diff --git a/debian/rules b/debian/rules
index dca10d1..9a1f763 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,11 +5,19 @@
 #export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
 #export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
 
-%:
-	dh $@  
 
-#override_dh_auto_install:
-#	dh_auto_install -- prefix=/usr
+override_dh_auto_configure:
+	mkdir build
+	cd build && qmake ../stupan.pro
+
+override_dh_auto_build:
+	cd build && make
+	lrelease stupan.pro
 
-#override_dh_install:
-#	dh_install --list-missing -X.pyc -X.pyo
+override_dh_auto_install:
+	$(MAKE) -C build install INSTALL_ROOT=$(CURDIR)/debian/stupan
+	install -d $(CURDIR)/debian/stupan/usr/share/stupan/
+	install -m 644 -t $(CURDIR)/debian/stupan/usr/share/stupan/ kassa/stupan_dk.qm 
+
+%:
+	dh $@
diff --git a/kassa.desktop b/kassa.desktop
old mode 100755
new mode 100644
diff --git a/kassa/StupanKassa.pro b/kassa/StupanKassa.pro
index f7dc393..7449e5b 100644
--- a/kassa/StupanKassa.pro
+++ b/kassa/StupanKassa.pro
@@ -11,10 +11,9 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 TARGET = stupan-kassa
 TEMPLATE = app
 
-kassa.path = /usr/bin
-kassa.files = stupan-kassa
+target.path = /usr/bin
 
-INSTALLS += kassa
+INSTALLS += target
 
 QMAKE_CXXFLAGS += -Wall -pedantic
 
@@ -25,7 +24,7 @@ HEADERS += widget.h
 
 FORMS   += widget.ui
 
-TRANSLATIONS = stupan_dk.ts
+TRANSLATIONS += stupan_dk.ts
 
 win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../StupanCommon/release/ -lStupanCommon
 else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../StupanCommon/debug/ -lStupanCommon
diff --git a/kassa/main.cpp b/kassa/main.cpp
index 539bbe8..483cf78 100644
--- a/kassa/main.cpp
+++ b/kassa/main.cpp
@@ -1,17 +1,46 @@
 #include "widget.h"
 #include <QApplication>
 #include <QTranslator>
+#include <QCoreApplication>
+#include <QVector>
+
+#include "configuration.h"
+#include "utils.h"
 
 int main(int argc, char *argv[])
 {
     // QLocale::setDefault(QLocale(QLocale::Swedish, QLocale::Sweden));
     QApplication a(argc, argv);
 
-    QString locale = QLocale::system().name();
+    //QString locale = QLocale::languageToString(QLocale::system().language());
+
+    //qDebug() << locale;
 
     QTranslator translator;
-    translator.load(QStringLiteral("stupan_") + locale, "/usr/share/stupan");
-    a.installTranslator(&translator);
+    QDate today = { QDate::currentDate() };
+    if (6 > today.daysTo(QDate(today.year(), 4, 1))) {
+        //translator.load(QStringLiteral("stupan_") + "dk", "/usr/share/stupan");
+        qDebug() << QCoreApplication::applicationDirPath();
+        QVector<QString> paths = {
+            QCoreApplication::applicationDirPath(),
+            "/usr/share/stupan",
+        };
+
+        foreach (auto path, paths) {
+            qDebug() << "Attempting to load translations from" << path;
+            if (translator.load("stupan_dk", path)) {
+                a.installTranslator(&translator);
+                qDebug() << "Loaded!";
+                break;
+            } else {
+                qDebug() << "Failed loading tranlation";
+            }
+        }
+    }
+
+
+    QString HOME = QString::fromLocal8Bit(getenv("HOME"));
+    Configuration conf(HOME + "/.stupan/config");
 
     Widget w;
     w.show();
-- 
GitLab