!3 calamares-3.3.7源码+9个补丁+图片+翻译+配置
From: @cui-gaoleng Reviewed-by: @lipingEmmaSiguyi Signed-off-by: @lipingEmmaSiguyi
176
0001-branding-patch.patch
Normal file
@ -0,0 +1,176 @@
|
||||
From 56fc0430a2ba6876c3e1362e004b5a650994b507 Mon Sep 17 00:00:00 2001
|
||||
From: Super User <root@localhost.localdomain>
|
||||
Date: Fri, 8 Nov 2024 12:38:42 +0800
|
||||
Subject: [PATCH] =?UTF-8?q?branding=E6=96=87=E4=BB=B6=E5=A4=B9=E4=BB=A3?=
|
||||
=?UTF-8?q?=E7=A0=81patch?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
---
|
||||
src/branding/default/branding.desc | 40 ++++++++++++-------------
|
||||
src/branding/default/show.qml | 48 ++++++++++++++++--------------
|
||||
2 files changed, 45 insertions(+), 43 deletions(-)
|
||||
|
||||
diff --git a/src/branding/default/branding.desc b/src/branding/default/branding.desc
|
||||
index 729b958e8..9f0843385 100644
|
||||
--- a/src/branding/default/branding.desc
|
||||
+++ b/src/branding/default/branding.desc
|
||||
@@ -39,7 +39,7 @@ welcomeExpandingLogo: true
|
||||
# - "normal" or unset, expand as needed, use *windowSize*
|
||||
# - "fullscreen", start as large as possible, ignore *windowSize*
|
||||
# - "noexpand", don't expand automatically, use *windowSize*
|
||||
-windowExpanding: normal
|
||||
+windowExpanding: noexpand
|
||||
|
||||
# Size of Calamares window, expressed as w,h. Both w and h
|
||||
# may be either pixels (suffix px) or font-units (suffix em).
|
||||
@@ -48,7 +48,7 @@ windowExpanding: normal
|
||||
# This setting is ignored if "fullscreen" is selected for
|
||||
# *windowExpanding*, above. If not set, use constants defined
|
||||
# in CalamaresUtilsGui, 800x520.
|
||||
-windowSize: 800px,520px
|
||||
+windowSize: 912px,600px
|
||||
|
||||
# Placement of Calamares window. Either "center" or "free".
|
||||
# Whether "center" actually works does depend on the window
|
||||
@@ -123,16 +123,16 @@ navigation: widget
|
||||
strings:
|
||||
productName: "${NAME}"
|
||||
shortProductName: Generic
|
||||
- version: 2023.3 LTS
|
||||
- shortVersion: 2023.3
|
||||
- versionedName: Fancy GNU/Linux 2023.3 LTS "Venomous Vole"
|
||||
- shortVersionedName: FancyGL 2023.3
|
||||
- bootloaderEntryName: FancyGL
|
||||
- productUrl: https://calamares.io/
|
||||
- supportUrl: https://github.com/calamares/calamares/wiki
|
||||
- knownIssuesUrl: https://github.com/calamares/calamares/issues
|
||||
- releaseNotesUrl: https://calamares.io/news/
|
||||
- donateUrl: https://kde.org/community/donations/index.php
|
||||
+ version: 24.09
|
||||
+ shortVersion: 24.09
|
||||
+ versionedName: openEuler-24.09
|
||||
+ shortVersionedName: openEuler 24.09
|
||||
+ bootloaderEntryName: openEuler
|
||||
+ productUrl: https://openeuler.org/
|
||||
+ supportUrl: null
|
||||
+ knownIssuesUrl: https://gitee.com/organizations/openeuler/issues
|
||||
+ releaseNotesUrl: null
|
||||
+ donateUrl: null
|
||||
|
||||
# These images are loaded from the branding module directory.
|
||||
#
|
||||
@@ -163,10 +163,10 @@ strings:
|
||||
# These filenames can also use substitutions from os-release (see above).
|
||||
images:
|
||||
# productBanner: "banner.png"
|
||||
- productIcon: "squid.png"
|
||||
- productLogo: "squid.png"
|
||||
- # productWallpaper: "wallpaper.png"
|
||||
- productWelcome: "languages.png"
|
||||
+ productIcon: "openEuler.png"
|
||||
+ productLogo: "openEulerWord.png"
|
||||
+ #productWallpaper: "welcomebg.png"
|
||||
+ productWelcome: "Biglogo.svg"
|
||||
|
||||
# Colors for text and background components.
|
||||
#
|
||||
@@ -180,10 +180,10 @@ images:
|
||||
# branding component also ships a stylesheet.qss. Then they are
|
||||
# the corresponding CSS attributes of #sidebarApp.
|
||||
style:
|
||||
- SidebarBackground: "#292F34"
|
||||
+ SidebarBackground: "#0110B7"
|
||||
SidebarText: "#FFFFFF"
|
||||
SidebarTextCurrent: "#292F34"
|
||||
- SidebarBackgroundCurrent: "#D35400"
|
||||
+ SidebarBackgroundCurrent: "#FFFFFF"
|
||||
|
||||
### SLIDESHOW
|
||||
#
|
||||
@@ -234,6 +234,6 @@ slideshowAPI: 2
|
||||
# Please note that upload size may be slightly over the limit (due
|
||||
# to last minute logging), so provide a suitable value.
|
||||
uploadServer :
|
||||
- type : "fiche"
|
||||
- url : "http://termbin.com:9999"
|
||||
+ type : "none"
|
||||
+ url :
|
||||
sizeLimit : -1
|
||||
diff --git a/src/branding/default/show.qml b/src/branding/default/show.qml
|
||||
index f4c50e629..f91d520cd 100644
|
||||
--- a/src/branding/default/show.qml
|
||||
+++ b/src/branding/default/show.qml
|
||||
@@ -22,43 +22,45 @@ Presentation
|
||||
|
||||
Timer {
|
||||
id: advanceTimer
|
||||
- interval: 1000
|
||||
+ interval: 5000
|
||||
running: presentation.activatedInCalamares
|
||||
repeat: true
|
||||
onTriggered: nextSlide()
|
||||
}
|
||||
|
||||
Slide {
|
||||
-
|
||||
+ id: slide1
|
||||
Image {
|
||||
- id: background
|
||||
- source: "squid.png"
|
||||
- width: 200; height: 200
|
||||
+ id: background1
|
||||
+ source: "Slide1.png"
|
||||
+ width: 980; height: 980
|
||||
fillMode: Image.PreserveAspectFit
|
||||
- anchors.centerIn: parent
|
||||
- }
|
||||
- Text {
|
||||
- anchors.horizontalCenter: background.horizontalCenter
|
||||
- anchors.top: background.bottom
|
||||
- text: "This is a customizable QML slideshow.<br/>"+
|
||||
- "Distributions should provide their own slideshow and list it in <br/>"+
|
||||
- "their custom branding.desc file.<br/>"+
|
||||
- "To create a Calamares presentation in QML, import calamares.slideshow,<br/>"+
|
||||
- "define a Presentation element with as many Slide elements as needed."
|
||||
- wrapMode: Text.WordWrap
|
||||
- width: presentation.width
|
||||
- horizontalAlignment: Text.Center
|
||||
+ anchors.horizontalCenter:parent.horizontalCenter
|
||||
+ y:parent.height / 2 - height / 2 -25
|
||||
}
|
||||
}
|
||||
-
|
||||
Slide {
|
||||
- centeredText: qsTr("This is a second Slide element.")
|
||||
+ id: slide2
|
||||
+ Image {
|
||||
+ id: background2
|
||||
+ source: "Slide2.png"
|
||||
+ width: 980; height: 980
|
||||
+ fillMode: Image.PreserveAspectFit
|
||||
+ anchors.horizontalCenter:parent.horizontalCenter
|
||||
+ y:parent.height / 2 - height / 2 -25
|
||||
+ }
|
||||
}
|
||||
-
|
||||
Slide {
|
||||
- centeredText: qsTr("This is a third Slide element.")
|
||||
+ id: slide3
|
||||
+ Image {
|
||||
+ id: background3
|
||||
+ source: "Slide3.png"
|
||||
+ width: 980; height: 980
|
||||
+ fillMode: Image.PreserveAspectFit
|
||||
+ anchors.horizontalCenter:parent.horizontalCenter
|
||||
+ y:parent.height / 2 - height / 2 -25
|
||||
+ }
|
||||
}
|
||||
-
|
||||
// When this slideshow is loaded as a V1 slideshow, only
|
||||
// activatedInCalamares is set, which starts the timer (see above).
|
||||
//
|
||||
--
|
||||
2.46.0
|
||||
|
||||
31662
0002-lang.patch
Normal file
1441
0003-calamares.patch
Normal file
165
0004-libcalamares.patch
Normal file
@ -0,0 +1,165 @@
|
||||
From 0d9fb9f2b3efbd5d4ba0c4d9640bdfdb2896c999 Mon Sep 17 00:00:00 2001
|
||||
From: cui-gaoleng <562344211@qq.com>
|
||||
Date: Fri, 8 Nov 2024 01:14:31 +0800
|
||||
Subject: [PATCH 2/4] =?UTF-8?q?libcalamares=E6=96=87=E4=BB=B6=E5=A4=B9?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
---
|
||||
src/libcalamares/CalamaresAbout.cpp | 15 ++++++-----
|
||||
src/libcalamares/locale/TimeZone.cpp | 33 ++++++++++++++++++++++++-
|
||||
src/libcalamares/locale/Translation.cpp | 14 ++++++++---
|
||||
3 files changed, 49 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/src/libcalamares/CalamaresAbout.cpp b/src/libcalamares/CalamaresAbout.cpp
|
||||
index 4ff4435..65a1b9d 100644
|
||||
--- a/src/libcalamares/CalamaresAbout.cpp
|
||||
+++ b/src/libcalamares/CalamaresAbout.cpp
|
||||
@@ -14,13 +14,11 @@
|
||||
#include <QCoreApplication>
|
||||
|
||||
static const char s_header[]
|
||||
- = QT_TRANSLATE_NOOP( "AboutData", "<h1>%1</h1><br/><strong>%2<br/> for %3</strong><br/><br/>" );
|
||||
+ = QT_TRANSLATE_NOOP( "AboutData", "<br/><h2>Release:%1</h2><br/>" );
|
||||
|
||||
static const char s_footer[]
|
||||
= QT_TRANSLATE_NOOP( "AboutData",
|
||||
- "Thanks to <a href=\"https://calamares.io/team/\">the Calamares team</a> "
|
||||
- "and the <a href=\"https://app.transifex.com/calamares/calamares/\">Calamares "
|
||||
- "translators team</a>." );
|
||||
+ "<strong>Thanks to the openEuler team.</strong>");
|
||||
|
||||
struct Maintainer
|
||||
{
|
||||
@@ -40,9 +38,9 @@ struct Maintainer
|
||||
};
|
||||
|
||||
static constexpr const Maintainer maintainers[] = {
|
||||
- { 2014, 2017, "Teo Mrnjavac", "teo@kde.org" },
|
||||
- { 2017, 2022, "Adriaan de Groot", "groot@kde.org" },
|
||||
- { 2022, 2024, "Adriaan de Groot (community)", "groot@kde.org" },
|
||||
+ // { 2014, 2017, "Teo Mrnjavac", "teo@kde.org" },
|
||||
+ // { 2017, 2022, "Adriaan de Groot", "groot@kde.org" },
|
||||
+ // { 2022, 2024, "Adriaan de Groot (community)", "groot@kde.org" },
|
||||
};
|
||||
|
||||
static QString
|
||||
@@ -59,7 +57,7 @@ aboutMaintainers()
|
||||
static QString
|
||||
substituteVersions( const QString& s )
|
||||
{
|
||||
- return s.arg( CALAMARES_APPLICATION_NAME ).arg( CALAMARES_VERSION );
|
||||
+ return s.arg( "openEuler-24.09" ).arg("");
|
||||
}
|
||||
|
||||
const QString
|
||||
@@ -67,6 +65,7 @@ Calamares::aboutString()
|
||||
{
|
||||
return substituteVersions( QCoreApplication::translate( "AboutData", s_header ) ) + aboutMaintainers()
|
||||
+ QCoreApplication::translate( "AboutData", s_footer );
|
||||
+ // return aboutMaintainers()+ QCoreApplication::translate( "AboutData", s_footer );
|
||||
}
|
||||
|
||||
const QString
|
||||
diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp
|
||||
index 0115618..8ad2525 100644
|
||||
--- a/src/libcalamares/locale/TimeZone.cpp
|
||||
+++ b/src/libcalamares/locale/TimeZone.cpp
|
||||
@@ -20,6 +20,17 @@
|
||||
|
||||
static const char TZ_DATA_FILE[] = "/usr/share/zoneinfo/zone.tab";
|
||||
|
||||
+static const QVector<QString> ASIA_ZONE_FILER = {
|
||||
+ "Beijing",
|
||||
+ "Shanghai",
|
||||
+ "Urumqi",
|
||||
+ "Hong_Kong",
|
||||
+ "Taipei",
|
||||
+ "Singapore",
|
||||
+ "Vientiane",
|
||||
+ "Tokyo"
|
||||
+};
|
||||
+
|
||||
namespace Calamares
|
||||
{
|
||||
namespace Locale
|
||||
@@ -96,6 +107,15 @@ RegionData::translated() const
|
||||
return QObject::tr( m_human, "tz_regions" );
|
||||
}
|
||||
|
||||
+bool containsQString(const QVector<QString>& vec, const QString& str) {
|
||||
+ for (const QString& item : vec) {
|
||||
+ if (item == str) {
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
static void
|
||||
loadTZData( RegionVector& regions, ZoneVector& zones, QTextStream& in )
|
||||
{
|
||||
@@ -137,6 +157,12 @@ loadTZData( RegionVector& regions, ZoneVector& zones, QTextStream& in )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
+ // NOTE: Taking into account ease of use, filtering zone in Asia.
|
||||
+ if (region == "Asia") {
|
||||
+ if (!containsQString(ASIA_ZONE_FILER, zone)) {
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
QString position = list.at( 1 );
|
||||
int cooSplitPos = position.indexOf( QRegularExpression( "[-+]" ), 1 );
|
||||
@@ -166,7 +192,12 @@ loadTZData( RegionVector& regions, ZoneVector& zones, QTextStream& in )
|
||||
{
|
||||
regions.append( new RegionData( region ) );
|
||||
}
|
||||
- zones.append( new TimeZoneData( region, zone, countryCode, latitude, longitude ) );
|
||||
+ QString adjustedZone = zone;
|
||||
+ if(zone == "Hong_Kong" || zone == "Taipei" || zone == "Macau")
|
||||
+ {
|
||||
+ adjustedZone += "(China)";
|
||||
+ }
|
||||
+ zones.append( new TimeZoneData( region, adjustedZone, countryCode, latitude, longitude ) );
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/libcalamares/locale/Translation.cpp b/src/libcalamares/locale/Translation.cpp
|
||||
index 49e4c05..e5b3402 100644
|
||||
--- a/src/libcalamares/locale/Translation.cpp
|
||||
+++ b/src/libcalamares/locale/Translation.cpp
|
||||
@@ -167,8 +167,8 @@ Translation::Translation( const Id& localeId, LabelFormat format, QObject* paren
|
||||
[ &localeId ]( const TranslationSpecialCase& s ) { return localeId.name == s.id; } );
|
||||
const char* name = ( it != std::cend( special_cases ) ) ? it->name : nullptr;
|
||||
|
||||
- QString longFormat = QObject::tr( "%1 (%2)" );
|
||||
-
|
||||
+ // QString longFormat = QObject::tr( "%1 (%2)" );
|
||||
+ QString longFormat = QObject::tr( "%1" );
|
||||
QString languageName = name ? QString::fromUtf8( name ) : m_locale.nativeLanguageName();
|
||||
QString englishName = m_locale.languageToString( m_locale.language() );
|
||||
|
||||
@@ -181,9 +181,15 @@ Translation::Translation( const Id& localeId, LabelFormat format, QObject* paren
|
||||
|| ( !name && localeId.name.contains( '_' )
|
||||
&& QLocale::countriesForLanguage( m_locale.language() ).count() > 1 );
|
||||
QString countryName = needsCountryName ? m_locale.nativeCountryName() : QString();
|
||||
+ if (countryName == "台灣") {
|
||||
+ countryName = "中國台灣";
|
||||
+ }
|
||||
+
|
||||
+ // m_label = needsCountryName ? longFormat.arg( languageName, countryName ) : languageName;
|
||||
m_label = needsCountryName ? longFormat.arg( languageName, countryName ) : languageName;
|
||||
- m_englishLabel = needsCountryName ? longFormat.arg( englishName, QLocale::countryToString( m_locale.country() ) )
|
||||
- : englishName;
|
||||
+ // m_englishLabel = needsCountryName ? longFormat.arg( englishName, QLocale::countryToString( m_locale.country() ) )
|
||||
+ // : englishName;
|
||||
+ m_englishLabel = englishName;
|
||||
}
|
||||
|
||||
QLocale
|
||||
--
|
||||
2.43.0
|
||||
|
||||
246
0005-libcalamaresui.patch
Normal file
@ -0,0 +1,246 @@
|
||||
From 7a3011e5efe45680acac9ad3f2493a5bed5ce85f Mon Sep 17 00:00:00 2001
|
||||
From: cui-gaoleng <562344211@qq.com>
|
||||
Date: Fri, 8 Nov 2024 01:23:08 +0800
|
||||
Subject: [PATCH 3/4] =?UTF-8?q?libcalamaresui=E6=96=87=E4=BB=B6=E5=A4=B9?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
---
|
||||
src/libcalamaresui/Branding.h | 3 +-
|
||||
src/libcalamaresui/ViewManager.cpp | 54 +++++++++++++++----
|
||||
src/libcalamaresui/ViewManager.h | 5 +-
|
||||
src/libcalamaresui/libcalamaresui.qrc | 2 +
|
||||
src/libcalamaresui/utils/Gui.cpp | 6 ++-
|
||||
src/libcalamaresui/utils/Gui.h | 5 +-
|
||||
.../viewpages/ExecutionViewStep.cpp | 3 +-
|
||||
7 files changed, 63 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/src/libcalamaresui/Branding.h b/src/libcalamaresui/Branding.h
|
||||
index 3fffa02..e374fa1 100644
|
||||
--- a/src/libcalamaresui/Branding.h
|
||||
+++ b/src/libcalamaresui/Branding.h
|
||||
@@ -68,7 +68,8 @@ public:
|
||||
ProductIcon,
|
||||
ProductLogo,
|
||||
ProductWallpaper,
|
||||
- ProductWelcome
|
||||
+ ProductWelcome,
|
||||
+ welcomebackground
|
||||
};
|
||||
Q_ENUM( ImageEntry )
|
||||
|
||||
diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp
|
||||
index 2fd7f45..1e097b5 100644
|
||||
--- a/src/libcalamaresui/ViewManager.cpp
|
||||
+++ b/src/libcalamaresui/ViewManager.cpp
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "utils/Paste.h"
|
||||
#include "utils/Retranslator.h"
|
||||
#include "utils/String.h"
|
||||
+#include "utils/Gui.h"
|
||||
#include "viewpages/BlankViewStep.h"
|
||||
#include "viewpages/ExecutionViewStep.h"
|
||||
#include "viewpages/ViewStep.h"
|
||||
@@ -34,6 +35,7 @@
|
||||
#include <QFile>
|
||||
#include <QMessageBox>
|
||||
#include <QMetaObject>
|
||||
+#include <QProcess>
|
||||
|
||||
#define UPDATE_BUTTON_PROPERTY( name, value ) \
|
||||
do \
|
||||
@@ -220,7 +222,7 @@ ViewManager::onInitComplete()
|
||||
m_steps.first()->onActivate();
|
||||
}
|
||||
|
||||
- emit currentStepChanged();
|
||||
+ emit currentStepChanged(m_currentStep);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -368,7 +370,7 @@ ViewManager::next()
|
||||
{
|
||||
m_steps.at( m_currentStep )->onActivate();
|
||||
executing = qobject_cast< ExecutionViewStep* >( m_steps.at( m_currentStep ) ) != nullptr;
|
||||
- emit currentStepChanged();
|
||||
+ emit currentStepChanged(m_currentStep);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -466,7 +468,7 @@ ViewManager::back()
|
||||
m_stack->setCurrentIndex( m_currentStep );
|
||||
step->onLeave();
|
||||
m_steps.at( m_currentStep )->onActivate();
|
||||
- emit currentStepChanged();
|
||||
+ emit currentStepChanged(m_currentStep);
|
||||
}
|
||||
else if ( !step->isAtBeginning() )
|
||||
{
|
||||
@@ -486,6 +488,20 @@ ViewManager::back()
|
||||
updateButtonLabels();
|
||||
}
|
||||
|
||||
+void
|
||||
+ViewManager::restartInstallation()
|
||||
+{
|
||||
+ QString restartNowCommand = QStringLiteral( "shutdown -r now" );
|
||||
+ QProcess::execute( "/bin/sh", { "-c", restartNowCommand } );
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+ViewManager::startDebugTerminal()
|
||||
+{
|
||||
+ //QProcess::startDetached("/bin/bash", QStringList());
|
||||
+ QApplication::quit();
|
||||
+}
|
||||
+
|
||||
void
|
||||
ViewManager::quit()
|
||||
{
|
||||
@@ -524,13 +540,33 @@ ViewManager::confirmCancelInstallation()
|
||||
QString title = settings->isSetupMode() ? tr( "Cancel Setup?", "@title" ) : tr( "Cancel Installation?", "@title" );
|
||||
QString question = settings->isSetupMode() ? tr( "Do you really want to cancel the current setup process?\n"
|
||||
"The setup program will quit and all changes will be lost." )
|
||||
- : tr( "Do you really want to cancel the current install process?\n"
|
||||
- "The installer will quit and all changes will be lost." );
|
||||
- QMessageBox mb( QMessageBox::Question, title, question, QMessageBox::Yes | QMessageBox::No, m_widget );
|
||||
- mb.setDefaultButton( QMessageBox::No );
|
||||
+ : tr( "Do you really want to cancel the current installation process?\n"
|
||||
+ "The system will reboot or you can enter the debug mode for further investigation." );
|
||||
+ QMessageBox mb( QMessageBox::Question, title, question, QMessageBox::NoButton, m_widget );
|
||||
+ QPushButton* rebootButton = mb.addButton( tr( "&Reboot", "@button" ), QMessageBox::ActionRole );
|
||||
+ QPushButton* debugButton = mb.addButton( tr( "&Try Now", "@button" ), QMessageBox::ActionRole );
|
||||
+ QPushButton* cancelButton = mb.addButton( QMessageBox::Cancel );
|
||||
+ mb.setIconPixmap(
|
||||
+ Calamares::defaultPixmap( Calamares::BigLogo,//Biglogo.svgz
|
||||
+ Calamares::Original,
|
||||
+ QSize( 321/5, 297/5 ) ));
|
||||
+ mb.setDefaultButton( cancelButton );
|
||||
+ mb.setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
|
||||
Calamares::fixButtonLabels( &mb );
|
||||
- int response = mb.exec();
|
||||
- return response == QMessageBox::Yes;
|
||||
+
|
||||
+ mb.exec();
|
||||
+
|
||||
+ if ( mb.clickedButton() == rebootButton )
|
||||
+ {
|
||||
+ restartInstallation();
|
||||
+ return false;
|
||||
+ }
|
||||
+ else if ( mb.clickedButton() == debugButton )
|
||||
+ {
|
||||
+ startDebugTerminal();
|
||||
+ return true;
|
||||
+ }
|
||||
+ return false;
|
||||
}
|
||||
|
||||
void
|
||||
diff --git a/src/libcalamaresui/ViewManager.h b/src/libcalamaresui/ViewManager.h
|
||||
index 5a449a1..da9e9bd 100644
|
||||
--- a/src/libcalamaresui/ViewManager.h
|
||||
+++ b/src/libcalamaresui/ViewManager.h
|
||||
@@ -87,6 +87,9 @@ public:
|
||||
*/
|
||||
ViewStepList viewSteps() const;
|
||||
|
||||
+ void restartInstallation();
|
||||
+ void startDebugTerminal();
|
||||
+
|
||||
/**
|
||||
* @brief currentStep returns the currently active ViewStep, i.e. the ViewStep
|
||||
* which owns the currently visible view page.
|
||||
@@ -213,7 +216,7 @@ public Q_SLOTS:
|
||||
QString logFilePath() const;
|
||||
|
||||
signals:
|
||||
- void currentStepChanged();
|
||||
+ void currentStepChanged(int m_currentStep);
|
||||
void ensureSize( QSize size ) const; // See ViewStep::ensureSize()
|
||||
void cancelEnabled( bool enabled ) const;
|
||||
|
||||
diff --git a/src/libcalamaresui/libcalamaresui.qrc b/src/libcalamaresui/libcalamaresui.qrc
|
||||
index 62a7df2..ddb197d 100644
|
||||
--- a/src/libcalamaresui/libcalamaresui.qrc
|
||||
+++ b/src/libcalamaresui/libcalamaresui.qrc
|
||||
@@ -24,5 +24,7 @@
|
||||
<file alias="images/state-ok.svg">../../data/images/state-ok.svg</file>
|
||||
<file alias="images/state-warning.svg">../../data/images/state-warning.svg</file>
|
||||
<file alias="images/state-error.svg">../../data/images/state-error.svg</file>
|
||||
+ <file alias="images/Biglogo.svg">../../data/images/Biglogo.svg</file>
|
||||
+ <file alias="images/Biglogo.svgz">../../data/images/Biglogo.svgz</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
diff --git a/src/libcalamaresui/utils/Gui.cpp b/src/libcalamaresui/utils/Gui.cpp
|
||||
index 57f67ae..3915cb7 100644
|
||||
--- a/src/libcalamaresui/utils/Gui.cpp
|
||||
+++ b/src/libcalamaresui/utils/Gui.cpp
|
||||
@@ -101,7 +101,7 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size )
|
||||
break;
|
||||
|
||||
case Squid:
|
||||
- pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/squid.svg", size );
|
||||
+ pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/Biglogo.svg", size );
|
||||
break;
|
||||
|
||||
case StatusOk:
|
||||
@@ -115,6 +115,10 @@ defaultPixmap( ImageType type, ImageMode mode, const QSize& size )
|
||||
case StatusError:
|
||||
pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/state-error.svg", size );
|
||||
break;
|
||||
+
|
||||
+ case BigLogo:
|
||||
+ pixmap = ImageRegistry::instance()->pixmap( RESPATH "images/Biglogo.svgz", size );
|
||||
+ break;
|
||||
}
|
||||
|
||||
if ( pixmap.isNull() )
|
||||
diff --git a/src/libcalamaresui/utils/Gui.h b/src/libcalamaresui/utils/Gui.h
|
||||
index 1264bc1..947be64 100644
|
||||
--- a/src/libcalamaresui/utils/Gui.h
|
||||
+++ b/src/libcalamaresui/utils/Gui.h
|
||||
@@ -50,7 +50,8 @@ enum ImageType : int
|
||||
Squid,
|
||||
StatusOk, // Icons for the requirements checker
|
||||
StatusWarning,
|
||||
- StatusError
|
||||
+ StatusError,
|
||||
+ BigLogo
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -94,7 +95,7 @@ UIDLLEXPORT QSize defaultIconSize();
|
||||
*/
|
||||
constexpr int windowMinimumWidth = 800;
|
||||
constexpr int windowMinimumHeight = 520;
|
||||
-constexpr int windowPreferredWidth = 1024;
|
||||
+constexpr int windowPreferredWidth = 912;
|
||||
constexpr int windowPreferredHeight = 520;
|
||||
|
||||
} // namespace Calamares
|
||||
diff --git a/src/libcalamaresui/viewpages/ExecutionViewStep.cpp b/src/libcalamaresui/viewpages/ExecutionViewStep.cpp
|
||||
index 71ea85b..c34d308 100644
|
||||
--- a/src/libcalamaresui/viewpages/ExecutionViewStep.cpp
|
||||
+++ b/src/libcalamaresui/viewpages/ExecutionViewStep.cpp
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <QToolBar>
|
||||
#include <QToolButton>
|
||||
#include <QVBoxLayout>
|
||||
+#include <QCoreApplication>
|
||||
|
||||
static Calamares::Slideshow*
|
||||
makeSlideshow( QWidget* parent )
|
||||
@@ -101,7 +102,7 @@ ExecutionViewStep::ExecutionViewStep( QObject* parent )
|
||||
Branding::instance()->image(
|
||||
{ "utilities-log-viewer", "utilities-terminal", "text-x-log", "text-x-changelog", "preferences-log" },
|
||||
QSize( 32, 32 ) ),
|
||||
- "Toggle log" );
|
||||
+ QCoreApplication::translate("Calamares::ExecutionViewStep","Toggle log" ) );
|
||||
auto toggleLogButton = dynamic_cast< QToolButton* >( toolBar->widgetForAction( toggleLogAction ) );
|
||||
connect( toggleLogButton, &QToolButton::clicked, this, &ExecutionViewStep::toggleLog );
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
||||
2819
0006-modules-file.patch
Normal file
175
0007-root.patch
Normal file
@ -0,0 +1,175 @@
|
||||
From 1c55eb532ed186baf5b0ac4b7b8504c8e84bfc8e Mon Sep 17 00:00:00 2001
|
||||
From: cui-gaoleng <562344211@qq.com>
|
||||
Date: Fri, 8 Nov 2024 02:53:37 +0800
|
||||
Subject: [PATCH] =?UTF-8?q?/=E7=9B=AE=E5=BD=95=E4=B8=8B=E7=9A=84=E9=85=8D?=
|
||||
=?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E4=BF=AE=E6=94=B9?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
---
|
||||
.editorconfig | 29 +++++++++++++++++++++++++++++
|
||||
.gitattributes | 14 ++++++++++++++
|
||||
.gitmodules | 0
|
||||
CMakeLists.txt | 21 +++++++++------------
|
||||
settings.conf | 18 ++++++++++--------
|
||||
8 files changed, 114 insertions(+), 20 deletions(-)
|
||||
create mode 100644 .editorconfig
|
||||
create mode 100644 .gitattributes
|
||||
create mode 100644 .gitmodules
|
||||
|
||||
diff --git a/.editorconfig b/.editorconfig
|
||||
new file mode 100644
|
||||
index 0000000..44e191e
|
||||
--- /dev/null
|
||||
+++ b/.editorconfig
|
||||
@@ -0,0 +1,29 @@
|
||||
+# SPDX-FileCopyrightText: no
|
||||
+# SPDX-License-Identifier: CC0-1.0
|
||||
+
|
||||
+root = true
|
||||
+
|
||||
+[*]
|
||||
+charset = utf-8
|
||||
+end_of_line = lf
|
||||
+trim_trailing_whitespace = true
|
||||
+
|
||||
+[CMakeLists.txt]
|
||||
+indent_style = space
|
||||
+indent_size = 4
|
||||
+insert_final_newline = true
|
||||
+
|
||||
+[*.cmake]
|
||||
+indent_style = space
|
||||
+indent_size = 4
|
||||
+insert_final_newline = true
|
||||
+
|
||||
+[*.{py,cpp,h}]
|
||||
+indent_style = space
|
||||
+indent_size = 4
|
||||
+insert_final_newline = true
|
||||
+
|
||||
+[*.sh]
|
||||
+indent_style = tab
|
||||
+insert_final_newline = true
|
||||
+
|
||||
diff --git a/.gitattributes b/.gitattributes
|
||||
new file mode 100644
|
||||
index 0000000..6a8126f
|
||||
--- /dev/null
|
||||
+++ b/.gitattributes
|
||||
@@ -0,0 +1,14 @@
|
||||
+# SPDX-FileCopyrightText: no
|
||||
+# SPDX-License-Identifier: CC0-1.0
|
||||
+
|
||||
+.editorconfig export-ignore
|
||||
+.gitattributes export-ignore
|
||||
+.github export-ignore
|
||||
+.gitignore export-ignore
|
||||
+.gitmodules export-ignore
|
||||
+.travis.yml export-ignore
|
||||
+.tx export-ignore
|
||||
+
|
||||
+src/modules/testmodule.py export-ignore
|
||||
+src/modules/globalStorage.yaml export-ignore
|
||||
+
|
||||
diff --git a/.gitmodules b/.gitmodules
|
||||
new file mode 100644
|
||||
index 0000000..e69de29
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 9da614e..19395d4 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -78,8 +78,8 @@ set(CALAMARES_SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
|
||||
### OPTIONS
|
||||
#
|
||||
option(INSTALL_POLKIT "Install Polkit configuration" ON)
|
||||
-option(INSTALL_COMPLETION "Install shell completions" OFF)
|
||||
-option(INSTALL_CONFIG "Install configuration files" OFF)
|
||||
+option(INSTALL_COMPLETION "Install shell completions" ON)
|
||||
+option(INSTALL_CONFIG "Install configuration files" ON)
|
||||
# When adding WITH_* that affects the ABI offered by libcalamares,
|
||||
# also update libcalamares/CalamaresConfig.h.in
|
||||
option(WITH_PYBIND11 "Use bundled pybind11 instead of Boost::Python" ON)
|
||||
@@ -128,9 +128,9 @@ set(USE_services "" CACHE STRING "Select the services module to use")
|
||||
|
||||
### Calamares application info
|
||||
#
|
||||
-set(CALAMARES_ORGANIZATION_NAME "Calamares")
|
||||
-set(CALAMARES_ORGANIZATION_DOMAIN "github.com/calamares")
|
||||
-set(CALAMARES_APPLICATION_NAME "Calamares")
|
||||
+set(CALAMARES_ORGANIZATION_NAME "openEuler")
|
||||
+set(CALAMARES_ORGANIZATION_DOMAIN "https://gitee.com/organizations/openeuler/")
|
||||
+set(CALAMARES_APPLICATION_NAME "easysoftware")
|
||||
set(CALAMARES_DESCRIPTION_SUMMARY "The distribution-independent installer framework")
|
||||
|
||||
### Transifex (languages) info
|
||||
@@ -155,13 +155,10 @@ set(CALAMARES_DESCRIPTION_SUMMARY "The distribution-independent installer framew
|
||||
# `txstats.py -e`. See also
|
||||
#
|
||||
# Total 80 languages
|
||||
-set( _tx_complete de en es_AR fi_FI hr hu ja lt tr_TR uk zh_TW )
|
||||
-set( _tx_good az az_AZ be bg ca cs_CZ es fr fur he hi is it_IT ko
|
||||
- pl pt_BR pt_PT ru si sq sv zh_CN )
|
||||
-set( _tx_ok ar as ast bn ca@valencia da el en_GB eo es_MX et eu fa
|
||||
- gl id ka ml mr nb nl oc ro sk sl sr sr@latin tg th vi )
|
||||
-set( _tx_incomplete bqi es_PR gu ie ja-Hira kk kn lo lv mk ne_NP
|
||||
- ro_RO ta_IN te ur uz zh zh_HK )
|
||||
+set( _tx_complete zh_TW )
|
||||
+set( _tx_good zh_CN )
|
||||
+set( _tx_ok en_GB )
|
||||
+set( _tx_incomplete )
|
||||
# Total 80 languages
|
||||
|
||||
### Required versions
|
||||
diff --git a/settings.conf b/settings.conf
|
||||
index f4cbd05..f2d1106 100644
|
||||
--- a/settings.conf
|
||||
+++ b/settings.conf
|
||||
@@ -118,9 +118,10 @@ sequence:
|
||||
# - notesqml
|
||||
# - packagechooserq@licenseq
|
||||
- locale
|
||||
- - keyboard
|
||||
- - partition
|
||||
+# - keyboard
|
||||
- users
|
||||
+ - packagechooser
|
||||
+ - partition
|
||||
# - tracking
|
||||
- summary
|
||||
- exec:
|
||||
@@ -134,23 +135,24 @@ sequence:
|
||||
- machineid
|
||||
- fstab
|
||||
- locale
|
||||
- - keyboard
|
||||
+# - keyboard
|
||||
- localecfg
|
||||
# - luksbootkeyfile
|
||||
# - luksopenswaphookcfg
|
||||
-# - dracutlukscfg
|
||||
+ - dracutlukscfg
|
||||
# - plymouthcfg
|
||||
# - zfshostid
|
||||
- - initcpiocfg
|
||||
- - initcpio
|
||||
+ #- initcpiocfg
|
||||
+ #- initcpio
|
||||
- users
|
||||
- displaymanager
|
||||
- networkcfg
|
||||
- hwclock
|
||||
- services-systemd
|
||||
# - dracut
|
||||
- - initramfs
|
||||
-# - grubcfg
|
||||
+# - initramfs
|
||||
+ - packages
|
||||
+ - grubcfg
|
||||
- bootloader
|
||||
- umount
|
||||
- show:
|
||||
--
|
||||
2.43.0
|
||||
|
||||
660
0008-progromTree.patch
Normal file
@ -0,0 +1,660 @@
|
||||
From dd87845d5196cb45fc409ea0d445ff157cda7d33 Mon Sep 17 00:00:00 2001
|
||||
From: cui-gaoleng <562344211@qq.com>
|
||||
Date: Fri, 8 Nov 2024 00:48:41 +0800
|
||||
Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E5=BA=A6=E6=9D=A1=E9=83=A8=E5=88=86?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
---
|
||||
.../progresstree/ProgressTreeDelegate.cpp | 338 ++++++++++++------
|
||||
.../progresstree/ProgressTreeDelegate.h | 62 ++--
|
||||
.../progresstree/ProgressTreeView.cpp | 142 ++++----
|
||||
src/calamares/progresstree/ProgressTreeView.h | 80 +++--
|
||||
5 files changed, 375 insertions(+), 250 deletions(-)
|
||||
|
||||
diff --git a/src/calamares/progresstree/ProgressTreeDelegate.cpp b/src/calamares/progresstree/ProgressTreeDelegate.cpp
|
||||
index df513f2..6d5f865 100644
|
||||
--- a/src/calamares/progresstree/ProgressTreeDelegate.cpp
|
||||
+++ b/src/calamares/progresstree/ProgressTreeDelegate.cpp
|
||||
@@ -1,119 +1,219 @@
|
||||
-/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
- *
|
||||
- * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
|
||||
- * SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
|
||||
- * SPDX-License-Identifier: GPL-3.0-or-later
|
||||
- *
|
||||
- * Calamares is Free Software: see the License-Identifier above.
|
||||
- *
|
||||
- */
|
||||
-
|
||||
-#include "ProgressTreeDelegate.h"
|
||||
-
|
||||
-#include "Branding.h"
|
||||
-#include "CalamaresApplication.h"
|
||||
-#include "CalamaresWindow.h"
|
||||
-#include "ViewManager.h"
|
||||
-#include "utils/Gui.h"
|
||||
-
|
||||
-#include <QPainter>
|
||||
-
|
||||
-static constexpr int const item_margin = 8;
|
||||
-static inline int
|
||||
-item_fontsize()
|
||||
-{
|
||||
- return Calamares::defaultFontSize() + 4;
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-paintViewStep( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index )
|
||||
-{
|
||||
- QRect textRect = option.rect.adjusted( item_margin, item_margin, -item_margin, -item_margin );
|
||||
- QFont font = qApp->font();
|
||||
- font.setPointSize( item_fontsize() );
|
||||
- font.setBold( false );
|
||||
- painter->setFont( font );
|
||||
-
|
||||
- if ( index.row() == index.data( Calamares::ViewManager::ProgressTreeItemCurrentIndex ).toInt() )
|
||||
- {
|
||||
- painter->setPen( Calamares::Branding::instance()->styleString( Calamares::Branding::SidebarTextCurrent ) );
|
||||
- QString textHighlight
|
||||
- = Calamares::Branding::instance()->styleString( Calamares::Branding::SidebarBackgroundCurrent );
|
||||
- if ( textHighlight.isEmpty() )
|
||||
- {
|
||||
- painter->setBrush( CalamaresApplication::instance()->mainWindow()->palette().window() );
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- painter->setBrush( QColor( textHighlight ) );
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- // Draw the text at least once. If it doesn't fit, then shrink the font
|
||||
- // being used by 1 pt on each iteration, up to a maximum of maximumShrink
|
||||
- // times. On each loop, we'll have to blank out the rectangle again, so this
|
||||
- // is an expensive (in terms of drawing operations) thing to do.
|
||||
- //
|
||||
- // (The loop uses <= because the counter is incremented at the start).
|
||||
- static constexpr int const maximumShrink = 4;
|
||||
- int shrinkSteps = 0;
|
||||
- do
|
||||
- {
|
||||
- painter->fillRect( option.rect, painter->brush().color() );
|
||||
- shrinkSteps++;
|
||||
-
|
||||
- QRectF boundingBox;
|
||||
- painter->drawText(
|
||||
- textRect, Qt::AlignHCenter | Qt::AlignVCenter | Qt::TextSingleLine, index.data().toString(), &boundingBox );
|
||||
-
|
||||
- // The extra check here is to avoid the changing-font-size if we're not going to use
|
||||
- // it in the next iteration of the loop anyway.
|
||||
- if ( ( shrinkSteps <= maximumShrink ) && ( boundingBox.width() > textRect.width() ) )
|
||||
- {
|
||||
- font.setPointSize( item_fontsize() - shrinkSteps );
|
||||
- painter->setFont( font );
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- break; // It fits
|
||||
- }
|
||||
- } while ( shrinkSteps <= maximumShrink );
|
||||
-}
|
||||
-
|
||||
-QSize
|
||||
-ProgressTreeDelegate::sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const
|
||||
-{
|
||||
- if ( !index.isValid() )
|
||||
- {
|
||||
- return option.rect.size();
|
||||
- }
|
||||
-
|
||||
- QFont font = qApp->font();
|
||||
-
|
||||
- font.setPointSize( item_fontsize() );
|
||||
- QFontMetrics fm( font );
|
||||
- int height = fm.height();
|
||||
-
|
||||
- height += 2 * item_margin;
|
||||
-
|
||||
- return QSize( option.rect.width(), height );
|
||||
-}
|
||||
-
|
||||
-void
|
||||
-ProgressTreeDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const
|
||||
-{
|
||||
- QStyleOptionViewItem opt = option;
|
||||
-
|
||||
- painter->save();
|
||||
-
|
||||
- initStyleOption( &opt, index );
|
||||
- opt.text.clear();
|
||||
-
|
||||
- painter->setBrush(
|
||||
- QColor( Calamares::Branding::instance()->styleString( Calamares::Branding::SidebarBackground ) ) );
|
||||
- painter->setPen( QColor( Calamares::Branding::instance()->styleString( Calamares::Branding::SidebarText ) ) );
|
||||
-
|
||||
- paintViewStep( painter, opt, index );
|
||||
-
|
||||
- painter->restore();
|
||||
-}
|
||||
+/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
+ *
|
||||
+ * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
|
||||
+ * SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
|
||||
+ * SPDX-License-Identifier: GPL-3.0-or-later
|
||||
+ *
|
||||
+ * Calamares is Free Software: see the License-Identifier above.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "ProgressTreeDelegate.h"
|
||||
+
|
||||
+#include "Branding.h"
|
||||
+#include "CalamaresApplication.h"
|
||||
+#include "CalamaresWindow.h"
|
||||
+#include "ViewManager.h"
|
||||
+#include "utils/Gui.h"
|
||||
+#include "utils/Logger.h"
|
||||
+
|
||||
+#include <QPainter>
|
||||
+#include <QLocale>
|
||||
+static constexpr int const item_margin = 8;
|
||||
+static inline int
|
||||
+item_fontsize()
|
||||
+{
|
||||
+ return Calamares::defaultFontSize();
|
||||
+}
|
||||
+static bool contains(const std::vector<QString>& vec,const QString& value){
|
||||
+ for(const QString& v : vec){
|
||||
+ if(v==value){
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+static QString getTypeOfStep(const QString& stepString){
|
||||
+ std::vector<QString> baseSetting1 = {"Location","Keyboard"};
|
||||
+ std::vector<QString> userSetting1 = {"Users","Packages"};
|
||||
+ std::vector<QString> installSteps1 = {"Partitions","Summary","Install","Finish"};
|
||||
+ std::vector<QString> baseSetting2 = {"位置","键盘"};
|
||||
+ std::vector<QString> userSetting2 = {"用户","桌面"};
|
||||
+ std::vector<QString> installSteps2 = {"分区","摘要","安装","结束"};
|
||||
+ std::vector<QString> baseSetting3 = {"位置", "鍵盤"};
|
||||
+ std::vector<QString> userSetting3 = {"使用者", "軟體包"};
|
||||
+ std::vector<QString> installSteps3 = {"分割區", "總覽", "安裝", "完成"};
|
||||
+ // 获取当前系统的语言设置
|
||||
+ QLocale locale;
|
||||
+ QLocale::Language lang = locale.language();
|
||||
+
|
||||
+ // 将语言枚举值转换为字符串
|
||||
+ QString languageString = QLocale::languageToString(lang);
|
||||
+ QLocale::Country country = locale.country();
|
||||
+
|
||||
+ // 将地区枚举值转换为字符串
|
||||
+ QString countryString = QLocale::countryToString(country);
|
||||
+ // 输出当前语言
|
||||
+ cDebug() << "-------------------------------------------当前系统语言:" << languageString;
|
||||
+ cDebug() << "-------------------------------------------当前系统地区:" << countryString;
|
||||
+ if(contains(baseSetting1,stepString)){
|
||||
+ return "BaseSetting";
|
||||
+ }
|
||||
+ if(contains(userSetting1,stepString)){
|
||||
+ return "UserSetting";
|
||||
+ }
|
||||
+ if(contains(installSteps1,stepString)){
|
||||
+ return "InstallSetting";
|
||||
+ }
|
||||
+ if(contains(baseSetting2,stepString) && countryString=="China"){
|
||||
+ return "基础设置";
|
||||
+ }
|
||||
+ if(contains(userSetting2,stepString) && countryString=="China"){
|
||||
+ return "用户设置";
|
||||
+ }
|
||||
+ if(contains(installSteps2,stepString) && countryString=="China"){
|
||||
+ return "安装设置";
|
||||
+ }
|
||||
+ if (contains(baseSetting3, stepString) && countryString=="Taiwan") {
|
||||
+ return "基礎設定";
|
||||
+ }
|
||||
+ if (contains(userSetting3, stepString) && countryString=="Taiwan"){
|
||||
+ return "使用者設定";
|
||||
+ }
|
||||
+ if (contains(installSteps3, stepString) && countryString=="Taiwan") {
|
||||
+ return "安裝設定";
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+static int getTypeOfStep(int val){
|
||||
+ if(val<=1){
|
||||
+ return 1;
|
||||
+ }
|
||||
+ else if(val<=3){
|
||||
+ return 2;
|
||||
+ }
|
||||
+ else if(val<=8){
|
||||
+ return 3;
|
||||
+ }
|
||||
+ else{
|
||||
+ return 0;
|
||||
+ }
|
||||
+}
|
||||
+static bool isVisable(const QString& stepString){
|
||||
+ std::vector<QString> installSteps = {"鍵盤", "軟體包", "總覽", "安裝", "完成",
|
||||
+ "Keyboard","Packages","Summary","Install","Finish",
|
||||
+ "键盘","桌面","摘要","安装","结束"};
|
||||
+ return !contains(installSteps, stepString);
|
||||
+}
|
||||
+static void
|
||||
+paintViewStep( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index )
|
||||
+{
|
||||
+ QRect textRect = option.rect.adjusted( item_margin, item_margin, -item_margin, -item_margin );
|
||||
+ QFont font = qApp->font();
|
||||
+ font.setPointSize( item_fontsize() );
|
||||
+ font.setBold( false );
|
||||
+ painter->setFont( font );
|
||||
+
|
||||
+ int CurrentTypeOfStep = getTypeOfStep(index.data( Calamares::ViewManager::ProgressTreeItemCurrentIndex ).toInt());
|
||||
+ int TypeOfStep = getTypeOfStep(index.row());
|
||||
+ if ( CurrentTypeOfStep == TypeOfStep )
|
||||
+ {
|
||||
+ painter->setPen( Calamares::Branding::instance()->styleString( Calamares::Branding::SidebarTextCurrent ) );
|
||||
+ QString textHighlight
|
||||
+ = Calamares::Branding::instance()->styleString( Calamares::Branding::SidebarBackgroundCurrent );
|
||||
+ if ( textHighlight.isEmpty() )
|
||||
+ {
|
||||
+ painter->setBrush( CalamaresApplication::instance()->mainWindow()->palette().window() );
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ painter->setBrush( QColor( textHighlight ) );
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Draw the text at least once. If it doesn't fit, then shrink the font
|
||||
+ // being used by 1 pt on each iteration, up to a maximum of maximumShrink
|
||||
+ // times. On each loop, we'll have to blank out the rectangle again, so this
|
||||
+ // is an expensive (in terms of drawing operations) thing to do.
|
||||
+ //
|
||||
+ // (The loop uses <= because the counter is incremented at the start).
|
||||
+ static constexpr int const maximumShrink = 4;
|
||||
+ int shrinkSteps = 0;
|
||||
+ do
|
||||
+ {
|
||||
+
|
||||
+ shrinkSteps++;
|
||||
+
|
||||
+ QRectF boundingBox;
|
||||
+ cDebug() << "index.data().toString()" << index.data().toString();
|
||||
+ QString text;
|
||||
+ if(index.data().toString()=="欢迎" || index.data().toString()=="Welcome"||!isVisable(index.data().toString())){
|
||||
+ text = "";
|
||||
+ }else{
|
||||
+ text = getTypeOfStep(index.data().toString());
|
||||
+ painter->fillRect( option.rect, painter->brush().color() );
|
||||
+ }
|
||||
+ painter->drawText(
|
||||
+ textRect, Qt::AlignHCenter | Qt::AlignVCenter | Qt::TextSingleLine, text, &boundingBox );
|
||||
+
|
||||
+ // The extra check here is to avoid the changing-font-size if we're not going to use
|
||||
+ // it in the next iteration of the loop anyway.
|
||||
+ if ( ( shrinkSteps <= maximumShrink ) && ( boundingBox.width() > textRect.width() ) )
|
||||
+ {
|
||||
+ font.setPointSize( item_fontsize() );
|
||||
+ painter->setFont( font );
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ break; // It fits
|
||||
+ }
|
||||
+ } while ( shrinkSteps <= maximumShrink );
|
||||
+}
|
||||
+
|
||||
+QSize
|
||||
+ProgressTreeDelegate::sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const
|
||||
+{
|
||||
+ if ( !index.isValid() )
|
||||
+ {
|
||||
+ return option.rect.size();
|
||||
+ }
|
||||
+
|
||||
+ QFont font = qApp->font();
|
||||
+ cDebug() << "ProgressTreeDelegate::sizeHint";
|
||||
+
|
||||
+ font.setPointSize( item_fontsize() );
|
||||
+ QFontMetrics fm( font );
|
||||
+ int height = fm.height();
|
||||
+ height += 2 * item_margin;
|
||||
+ if(index.data().toString()=="欢迎" || index.data().toString()=="Welcome"||!isVisable(index.data().toString())){
|
||||
+ return QSize( 0, 0 );
|
||||
+ }else{
|
||||
+ return QSize( (Calamares::windowMinimumWidth*0.9)/3, height*2 );
|
||||
+ }
|
||||
+// return QSize( option.rect.width(), height );
|
||||
+
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+ProgressTreeDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const
|
||||
+{
|
||||
+ cDebug() << "ProgressTreeDelegate::paint----------";
|
||||
+ QStyleOptionViewItem opt = option;
|
||||
+
|
||||
+ painter->save();
|
||||
+
|
||||
+ initStyleOption( &opt, index );
|
||||
+ opt.text.clear();
|
||||
+
|
||||
+ painter->setBrush(
|
||||
+ QColor( Calamares::Branding::instance()->styleString( Calamares::Branding::SidebarBackground ) ) );
|
||||
+ painter->setPen( QColor( Calamares::Branding::instance()->styleString( Calamares::Branding::SidebarText ) ) );
|
||||
+ if(index.data().toString()=="欢迎" || index.data().toString()=="Welcome"){
|
||||
+ cDebug() << "ProgressTreeDelegate::欢迎Welcome--------Nopaint----------";
|
||||
+ }else{
|
||||
+ paintViewStep( painter, opt, index );
|
||||
+ }
|
||||
+ //paintViewStep( painter, opt, index );
|
||||
+
|
||||
+ painter->restore();
|
||||
+}
|
||||
diff --git a/src/calamares/progresstree/ProgressTreeDelegate.h b/src/calamares/progresstree/ProgressTreeDelegate.h
|
||||
index d5a5abc..af4fef9 100644
|
||||
--- a/src/calamares/progresstree/ProgressTreeDelegate.h
|
||||
+++ b/src/calamares/progresstree/ProgressTreeDelegate.h
|
||||
@@ -1,31 +1,31 @@
|
||||
-/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
- *
|
||||
- * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
|
||||
- * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
|
||||
- * SPDX-License-Identifier: GPL-3.0-or-later
|
||||
- *
|
||||
- * Calamares is Free Software: see the License-Identifier above.
|
||||
- *
|
||||
- */
|
||||
-
|
||||
-#ifndef PROGRESSTREEDELEGATE_H
|
||||
-#define PROGRESSTREEDELEGATE_H
|
||||
-
|
||||
-#include <QStyledItemDelegate>
|
||||
-
|
||||
-/**
|
||||
- * @brief The ProgressTreeDelegate class customizes the look and feel of the
|
||||
- * ProgressTreeView elements.
|
||||
- * @see ProgressTreeView
|
||||
- */
|
||||
-class ProgressTreeDelegate : public QStyledItemDelegate
|
||||
-{
|
||||
-public:
|
||||
- using QStyledItemDelegate::QStyledItemDelegate;
|
||||
-
|
||||
-protected:
|
||||
- QSize sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const override;
|
||||
- void paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const override;
|
||||
-};
|
||||
-
|
||||
-#endif // PROGRESSTREEDELEGATE_H
|
||||
+/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
+ *
|
||||
+ * SPDX-FileCopyrightText: 2014-2015 Teo Mrnjavac <teo@kde.org>
|
||||
+ * SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
|
||||
+ * SPDX-License-Identifier: GPL-3.0-or-later
|
||||
+ *
|
||||
+ * Calamares is Free Software: see the License-Identifier above.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifndef PROGRESSTREEDELEGATE_H
|
||||
+#define PROGRESSTREEDELEGATE_H
|
||||
+
|
||||
+#include <QStyledItemDelegate>
|
||||
+
|
||||
+/**
|
||||
+ * @brief The ProgressTreeDelegate class customizes the look and feel of the
|
||||
+ * ProgressTreeView elements.
|
||||
+ * @see ProgressTreeView
|
||||
+ */
|
||||
+class ProgressTreeDelegate : public QStyledItemDelegate
|
||||
+{
|
||||
+public:
|
||||
+ using QStyledItemDelegate::QStyledItemDelegate;
|
||||
+
|
||||
+protected:
|
||||
+ QSize sizeHint( const QStyleOptionViewItem& option, const QModelIndex& index ) const override;
|
||||
+ void paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const override;
|
||||
+};
|
||||
+
|
||||
+#endif // PROGRESSTREEDELEGATE_H
|
||||
diff --git a/src/calamares/progresstree/ProgressTreeView.cpp b/src/calamares/progresstree/ProgressTreeView.cpp
|
||||
index 9d49ea2..29ee7ee 100644
|
||||
--- a/src/calamares/progresstree/ProgressTreeView.cpp
|
||||
+++ b/src/calamares/progresstree/ProgressTreeView.cpp
|
||||
@@ -1,61 +1,81 @@
|
||||
-/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
- *
|
||||
- * SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
|
||||
- * SPDX-License-Identifier: GPL-3.0-or-later
|
||||
- *
|
||||
- * Calamares is Free Software: see the License-Identifier above.
|
||||
- *
|
||||
- */
|
||||
-
|
||||
-#include "ProgressTreeView.h"
|
||||
-
|
||||
-#include "ProgressTreeDelegate.h"
|
||||
-
|
||||
-#include "Branding.h"
|
||||
-#include "ViewManager.h"
|
||||
-
|
||||
-ProgressTreeView::ProgressTreeView( QWidget* parent )
|
||||
- : QListView( parent )
|
||||
-{
|
||||
- this->setObjectName( "sidebarMenuApp" );
|
||||
- setFrameShape( QFrame::NoFrame );
|
||||
- setContentsMargins( 0, 0, 0, 0 );
|
||||
-
|
||||
- setSelectionMode( QAbstractItemView::NoSelection );
|
||||
- setDragDropMode( QAbstractItemView::NoDragDrop );
|
||||
- setAcceptDrops( false );
|
||||
-
|
||||
- setItemDelegate( new ProgressTreeDelegate( this ) );
|
||||
-
|
||||
- QPalette plt = palette();
|
||||
- plt.setColor( QPalette::Base,
|
||||
- Calamares::Branding::instance()->styleString( Calamares::Branding::SidebarBackground ) );
|
||||
- setPalette( plt );
|
||||
-}
|
||||
-
|
||||
-
|
||||
-ProgressTreeView::~ProgressTreeView() {}
|
||||
-
|
||||
-
|
||||
-void
|
||||
-ProgressTreeView::setModel( QAbstractItemModel* model )
|
||||
-{
|
||||
- if ( ProgressTreeView::model() )
|
||||
- {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- QListView::setModel( model );
|
||||
-
|
||||
- connect( Calamares::ViewManager::instance(),
|
||||
- &Calamares::ViewManager::currentStepChanged,
|
||||
- this,
|
||||
- &ProgressTreeView::update,
|
||||
- Qt::UniqueConnection );
|
||||
-}
|
||||
-
|
||||
-void
|
||||
-ProgressTreeView::update()
|
||||
-{
|
||||
- viewport()->update();
|
||||
-}
|
||||
+/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
+ *
|
||||
+ * SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
|
||||
+ * SPDX-License-Identifier: GPL-3.0-or-later
|
||||
+ *
|
||||
+ * Calamares is Free Software: see the License-Identifier above.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "ProgressTreeView.h"
|
||||
+
|
||||
+#include "ProgressTreeDelegate.h"
|
||||
+
|
||||
+#include "Branding.h"
|
||||
+#include "ViewManager.h"
|
||||
+#include "utils/Logger.h"
|
||||
+
|
||||
+ProgressTreeView::ProgressTreeView( QWidget* parent )
|
||||
+ : QListView( parent )
|
||||
+{
|
||||
+ this->setObjectName( "sidebarMenuApp" );
|
||||
+ setFrameShape( QFrame::NoFrame );
|
||||
+ setContentsMargins( 0, 0, 0, 0 );
|
||||
+
|
||||
+ setFlow(QListView::LeftToRight);//
|
||||
+ setSelectionMode( QAbstractItemView::NoSelection );
|
||||
+ setDragDropMode( QAbstractItemView::NoDragDrop );
|
||||
+ setAcceptDrops( false );
|
||||
+// setVisible( false);
|
||||
+
|
||||
+ setItemDelegate( new ProgressTreeDelegate( this ) );
|
||||
+
|
||||
+ QPalette plt = palette();
|
||||
+ plt.setColor( QPalette::Base,
|
||||
+ Calamares::Branding::instance()->styleString( Calamares::Branding::SidebarBackground ) );
|
||||
+ setPalette( plt );
|
||||
+// connect(parent, SIGNAL(currentStepChanged(int)), this, SLOT(updateVisibility(int)));
|
||||
+ connect( Calamares::ViewManager::instance(),
|
||||
+ &Calamares::ViewManager::currentStepChanged,
|
||||
+ this,
|
||||
+ &ProgressTreeView::updateVisibility,
|
||||
+ Qt::UniqueConnection );
|
||||
+// connect(viewManager, &ViewManager::currentStepChanged, this, &ProgressTreeView::updateVisibility);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+ProgressTreeView::~ProgressTreeView() {}
|
||||
+
|
||||
+
|
||||
+
|
||||
+void
|
||||
+ProgressTreeView::setModel( QAbstractItemModel* model )
|
||||
+{
|
||||
+ if ( ProgressTreeView::model() )
|
||||
+ {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ QListView::setModel( model );
|
||||
+
|
||||
+ connect( Calamares::ViewManager::instance(),
|
||||
+ &Calamares::ViewManager::currentStepChanged,
|
||||
+ this,
|
||||
+ &ProgressTreeView::update,
|
||||
+ Qt::UniqueConnection );
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+ProgressTreeView::update()
|
||||
+{
|
||||
+ cDebug() << "update ---------------------";
|
||||
+ viewport()->update();
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+ProgressTreeView::updateVisibility(int currentStep)
|
||||
+{
|
||||
+ cDebug() << "int currentStep ------------------ " << currentStep;
|
||||
+ // 在第一个步骤隐藏,其他步骤显示
|
||||
+ this->setVisible(currentStep > 0);
|
||||
+}
|
||||
diff --git a/src/calamares/progresstree/ProgressTreeView.h b/src/calamares/progresstree/ProgressTreeView.h
|
||||
index d845cc7..b02b9ce 100644
|
||||
--- a/src/calamares/progresstree/ProgressTreeView.h
|
||||
+++ b/src/calamares/progresstree/ProgressTreeView.h
|
||||
@@ -1,39 +1,41 @@
|
||||
-/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
- *
|
||||
- * SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
|
||||
- * SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
|
||||
- * SPDX-License-Identifier: GPL-3.0-or-later
|
||||
- *
|
||||
- * Calamares is Free Software: see the License-Identifier above.
|
||||
- *
|
||||
- */
|
||||
-
|
||||
-#ifndef PROGRESSTREEVIEW_H
|
||||
-#define PROGRESSTREEVIEW_H
|
||||
-
|
||||
-#include <QListView>
|
||||
-
|
||||
-/**
|
||||
- * @brief Displays progress through the list of (visible) steps
|
||||
- *
|
||||
- * The ProgressTreeView class is a modified QListView which displays the
|
||||
- * available view steps and the user's progress through them.
|
||||
- * Since Calamares doesn't support "sub steps", it isn't really a tree.
|
||||
- */
|
||||
-class ProgressTreeView : public QListView
|
||||
-{
|
||||
- Q_OBJECT
|
||||
-public:
|
||||
- explicit ProgressTreeView( QWidget* parent = nullptr );
|
||||
- ~ProgressTreeView() override;
|
||||
-
|
||||
- /**
|
||||
- * @brief setModel assigns a model to this view.
|
||||
- */
|
||||
- void setModel( QAbstractItemModel* model ) override;
|
||||
-
|
||||
-public Q_SLOTS:
|
||||
- void update();
|
||||
-};
|
||||
-
|
||||
-#endif // PROGRESSTREEVIEW_H
|
||||
+/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
+ *
|
||||
+ * SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
|
||||
+ * SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
|
||||
+ * SPDX-License-Identifier: GPL-3.0-or-later
|
||||
+ *
|
||||
+ * Calamares is Free Software: see the License-Identifier above.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifndef PROGRESSTREEVIEW_H
|
||||
+#define PROGRESSTREEVIEW_H
|
||||
+
|
||||
+#include <QListView>
|
||||
+#include "utils/Logger.h"
|
||||
+
|
||||
+/**
|
||||
+ * @brief Displays progress through the list of (visible) steps
|
||||
+ *
|
||||
+ * The ProgressTreeView class is a modified QListView which displays the
|
||||
+ * available view steps and the user's progress through them.
|
||||
+ * Since Calamares doesn't support "sub steps", it isn't really a tree.
|
||||
+ */
|
||||
+class ProgressTreeView : public QListView
|
||||
+{
|
||||
+ Q_OBJECT
|
||||
+public:
|
||||
+ explicit ProgressTreeView( QWidget* parent = nullptr );
|
||||
+ ~ProgressTreeView() override;
|
||||
+
|
||||
+ /**
|
||||
+ * @brief setModel assigns a model to this view.
|
||||
+ */
|
||||
+ void setModel( QAbstractItemModel* model ) override;
|
||||
+
|
||||
+public Q_SLOTS:
|
||||
+ void update();
|
||||
+ void updateVisibility(int currentStep);
|
||||
+};
|
||||
+
|
||||
+#endif // PROGRESSTREEVIEW_H
|
||||
--
|
||||
2.43.0
|
||||
|
||||
94
0009-qss.patch
Normal file
@ -0,0 +1,94 @@
|
||||
From 0c7571051e9bf0a051bb44f40cffe85bc44c1791 Mon Sep 17 00:00:00 2001
|
||||
From: cui-gaoleng <562344211@qq.com>
|
||||
Date: Sat, 9 Nov 2024 11:38:16 +0800
|
||||
Subject: [PATCH] =?UTF-8?q?qss=E6=96=87=E4=BB=B6=E6=8F=90=E4=BA=A4?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
---
|
||||
src/branding/default/stylesheet.qss | 67 +++++++++++++++++++++++++++--
|
||||
1 file changed, 64 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/branding/default/stylesheet.qss b/src/branding/default/stylesheet.qss
|
||||
index 5c36738..85498f6 100644
|
||||
--- a/src/branding/default/stylesheet.qss
|
||||
+++ b/src/branding/default/stylesheet.qss
|
||||
@@ -34,10 +34,71 @@ The examples are not exhaustive.
|
||||
* the class name. Some widgets have specialized sub-selectors.
|
||||
*/
|
||||
|
||||
-/*
|
||||
-QPushButton { background-color: green; }
|
||||
-*/
|
||||
|
||||
+QPushButton {
|
||||
+ background-color: rgb(10, 10, 204);
|
||||
+ font-size: 12px;
|
||||
+ color: rgb(17, 17, 17);
|
||||
+ height: 18px;
|
||||
+}
|
||||
+QPushButton:focus {
|
||||
+ background-color: rgb(10, 10, 204);
|
||||
+ color: rgb(17, 17, 17);
|
||||
+ font-size: 12px;
|
||||
+}
|
||||
+QPushButton:checked {
|
||||
+ background-color: rgb(233, 233, 243);
|
||||
+ color: rgb(17, 17, 17);
|
||||
+ font-size: 12px;
|
||||
+
|
||||
+}
|
||||
+QPushButton:disabled {
|
||||
+ background-color: rgb(151, 150, 253);
|
||||
+ color: rgb(201, 195, 195);
|
||||
+ font-size: 12px;
|
||||
+}
|
||||
+QToolButton {
|
||||
+ background-color: rgb(10, 10, 204);
|
||||
+ font-size: 12px;
|
||||
+ color: rgb(255, 255, 255);
|
||||
+ height: 18px;
|
||||
+}
|
||||
+QToolButton:focus {
|
||||
+ background-color: rgb(10, 10, 204);
|
||||
+ color: rgb(250, 249, 249);
|
||||
+ font-size: 12px;
|
||||
+}
|
||||
+QToolButton:checked {
|
||||
+ background-color: rgb(233, 233, 243);
|
||||
+ color: rgb(17, 17, 17);
|
||||
+ font-size: 12px;
|
||||
+
|
||||
+}
|
||||
+QToolButton:disabled {
|
||||
+ background-color: rgb(151, 150, 253);
|
||||
+ color: rgb(245, 233, 233);
|
||||
+ font-size: 12px;
|
||||
+}
|
||||
+#mainApp{
|
||||
+ background-color: #FFFFFF;
|
||||
+}
|
||||
+
|
||||
+QComboBox{ background-color: rgb(254, 254, 255); color: black; } QComboBox
|
||||
+QAbstractItemView{ background-color: rgb(254, 254, 255); }
|
||||
+
|
||||
+QDialog{
|
||||
+ background-color: #fdfdfd;
|
||||
+ border-radius: 5px;
|
||||
+ border: 1px solid #aaa;
|
||||
+}
|
||||
+
|
||||
+QToolTip {
|
||||
+ background-color: rgba(17,17,17,200);
|
||||
+ color: #f1f0f0;
|
||||
+ border: 1px solid #766d6d;
|
||||
+ border-radius: 5px;
|
||||
+ box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
|
||||
+}
|
||||
/*** Main application window.
|
||||
*
|
||||
* The main application window has the sidebar, which in turn
|
||||
--
|
||||
2.43.0
|
||||
|
||||
BIN
Biglogo.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
44
Biglogo.svg
Normal file
@ -0,0 +1,44 @@
|
||||
<svg width="320.999756" height="270.500000" viewBox="0 0 321 270.5" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<desc>
|
||||
Created with Pixso.
|
||||
</desc>
|
||||
<defs>
|
||||
<filter id="filter_20_169_dd" x="74.500000" y="0.000000" width="174.000000" height="193.514648" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dx="0" dy="4"/>
|
||||
<feGaussianBlur stdDeviation="1.33333"/>
|
||||
<feComposite in2="hardAlpha" operator="out" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect_dropShadow_1"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect_dropShadow_1" result="shape"/>
|
||||
</filter>
|
||||
</defs>
|
||||
<path id="Fill-1" d="M69.28 249.53C63.62 249.53 59.03 245.04 59.03 239.5C59.03 233.96 63.62 229.47 69.28 229.47C74.93 229.47 79.52 233.96 79.52 239.5C79.52 245.04 74.93 249.53 69.28 249.53ZM69.28 220.89C65.03 220.89 61.12 222.28 57.95 224.58L57.95 221.48C57.95 221.15 57.68 220.89 57.36 220.89L50.02 220.89C49.69 220.89 49.43 221.15 49.43 221.48L49.43 269.41C49.43 269.74 49.69 270 50.02 270L57.36 270C57.68 270 57.95 269.74 57.95 269.41L57.95 254.41C61.12 256.72 65.03 258.1 69.28 258.1C79.77 258.1 88.28 249.77 88.28 239.5C88.28 229.22 79.77 220.89 69.28 220.89Z" fill="#000000" fill-opacity="1.000000" fill-rule="evenodd"/>
|
||||
<path id="Fill-1" d="M59.03 239.5C59.03 233.96 63.62 229.47 69.28 229.47C74.93 229.47 79.52 233.96 79.52 239.5C79.52 245.04 74.93 249.53 69.28 249.53C63.62 249.53 59.03 245.04 59.03 239.5ZM57.95 224.58L57.95 221.48C57.95 221.15 57.68 220.89 57.36 220.89L50.02 220.89C49.69 220.89 49.43 221.15 49.43 221.48L49.43 269.41C49.43 269.74 49.69 270 50.02 270L57.36 270C57.68 270 57.95 269.74 57.95 269.41L57.95 254.41C61.12 256.72 65.03 258.1 69.28 258.1C79.77 258.1 88.28 249.77 88.28 239.5C88.28 229.22 79.77 220.89 69.28 220.89C65.03 220.89 61.12 222.28 57.95 224.58Z" stroke="#000000" stroke-opacity="1.000000" stroke-width="1.000000"/>
|
||||
<path id="Fill-3" d="M104.93 232.59C106.83 230.76 109.22 229.85 112.08 229.85C115.01 229.85 117.42 230.75 119.3 232.56C119.97 233.21 120.45 233.81 120.87 234.6C120.92 234.69 121.04 234.9 121.07 234.99L103.28 235.27C103.41 235.02 103.41 234.53 103.56 234.3C103.93 233.69 104.38 233.12 104.93 232.59ZM119.45 246.51C117.54 248.35 114.94 249.49 112.05 249.49C109.16 249.49 106.78 248.58 104.89 246.76C104.06 245.95 103.42 245.02 102.97 243.98C102.77 243.53 102.6 243.05 102.47 242.56C102.5 242.5 102.59 242.22 102.67 242.22C102.73 242.22 102.99 242.22 102.99 242.22L110.14 242.22L121.8 242.22C123.87 242.22 128.33 242.22 130.39 242.22C130.4 242.22 130.93 242.23 130.99 241.78C130.99 241.78 131.11 240.71 131.11 239.63C131.11 237.04 130.43 234.64 130.43 234.64C130.01 233.15 129.39 231.72 128.58 230.34C126.89 227.46 124.54 225.19 121.53 223.52C118.52 221.84 115.3 221 111.88 221C107.15 221 102.96 222.61 99.32 225.83C95.16 229.53 93.09 234.15 93.09 239.7C93.09 244.88 94.92 249.28 98.6 252.9C102.28 256.52 106.72 258.33 111.92 258.33C115.45 258.33 118.68 257.51 121.61 255.87C124.14 254.45 126.19 252.53 127.8 250.17C126.95 249.77 126.01 249.19 125.15 248.81C123.76 248.2 122.37 247.59 120.98 246.98C120.21 246.65 120.08 246.59 119.94 246.53C119.8 246.46 119.61 246.33 119.45 246.51Z" fill="#000000" fill-opacity="1.000000" fill-rule="evenodd"/>
|
||||
<path id="Fill-3" d="M112.08 229.85C115.01 229.85 117.42 230.75 119.3 232.56C119.97 233.21 120.45 233.81 120.87 234.6C120.92 234.69 121.04 234.9 121.07 234.99L103.28 235.27C103.41 235.02 103.41 234.53 103.56 234.3C103.93 233.69 104.38 233.12 104.93 232.59C106.83 230.76 109.22 229.85 112.08 229.85ZM112.05 249.49C109.16 249.49 106.78 248.58 104.89 246.76C104.06 245.95 103.42 245.02 102.97 243.98C102.77 243.53 102.6 243.05 102.47 242.56C102.5 242.5 102.59 242.22 102.67 242.22C102.73 242.22 102.99 242.22 102.99 242.22L110.14 242.22L121.8 242.22C123.87 242.22 128.33 242.22 130.39 242.22C130.4 242.22 130.93 242.23 130.99 241.78C130.99 241.78 131.11 240.71 131.11 239.63C131.11 237.04 130.43 234.64 130.43 234.64C130.01 233.15 129.39 231.72 128.58 230.34C126.89 227.46 124.54 225.19 121.53 223.52C118.52 221.84 115.3 221 111.88 221C107.15 221 102.96 222.61 99.32 225.83C95.16 229.53 93.09 234.15 93.09 239.7C93.09 244.88 94.92 249.28 98.6 252.9C102.28 256.52 106.72 258.33 111.92 258.33C115.45 258.33 118.68 257.51 121.61 255.87C124.14 254.45 126.19 252.53 127.8 250.17C126.95 249.77 126.01 249.19 125.15 248.81C123.76 248.2 122.37 247.59 120.98 246.98C120.21 246.65 120.08 246.59 119.94 246.53C119.8 246.46 119.61 246.33 119.45 246.51C117.54 248.35 114.94 249.49 112.05 249.49Z" stroke="#000000" stroke-opacity="1.000000" stroke-width="1.000000"/>
|
||||
<path id="Fill-5" d="M152.36 221.03C143.61 221.03 136.52 227.97 136.52 236.54L136.52 246.28L136.52 253.32L136.52 257.53C136.52 257.87 136.8 258.15 137.16 258.15L145.04 258.15C145.39 258.15 145.68 257.87 145.68 257.53L145.68 253.32L145.68 250.59L145.68 246.28L145.68 236.54C145.68 232.92 148.67 229.99 152.36 229.99C156.06 229.99 159.05 232.92 159.05 236.54L159.05 246.28L159.05 250.59L159.05 253.32L159.05 257.53C159.05 257.87 159.34 258.15 159.69 258.15L167.57 258.15C167.92 258.15 168.21 257.87 168.21 257.53L168.21 253.32L168.21 246.28L168.21 236.54C168.21 227.97 161.12 221.03 152.36 221.03Z" fill="#000000" fill-opacity="1.000000" fill-rule="evenodd"/>
|
||||
<path id="Fill-5" d="M136.52 236.54L136.52 246.28L136.52 253.32L136.52 257.53C136.52 257.87 136.8 258.15 137.16 258.15L145.04 258.15C145.39 258.15 145.68 257.87 145.68 257.53L145.68 253.32L145.68 250.59L145.68 246.28L145.68 236.54C145.68 232.92 148.67 229.99 152.36 229.99C156.06 229.99 159.05 232.92 159.05 236.54L159.05 246.28L159.05 250.59L159.05 253.32L159.05 257.53C159.05 257.87 159.34 258.15 159.69 258.15L167.57 258.15C167.92 258.15 168.21 257.87 168.21 257.53L168.21 253.32L168.21 246.28L168.21 236.54C168.21 227.97 161.12 221.03 152.36 221.03C143.61 221.03 136.52 227.97 136.52 236.54Z" stroke="#000000" stroke-opacity="1.000000" stroke-width="1.000000"/>
|
||||
<path id="Fill-7" d="M204.12 218.97C204.48 218.97 204.76 218.69 204.76 218.35L204.76 210.62C204.76 210.28 204.48 210 204.12 210L182.33 210L173.98 210C173.63 210 173.34 210.28 173.34 210.62L173.34 218.35L173.34 228.25L173.34 235.97L173.34 249.85L173.34 257.58C173.34 257.92 173.63 258.2 173.98 258.2L182.33 258.2L204.12 258.2C204.48 258.2 204.76 257.92 204.76 257.58L204.76 249.85C204.76 249.51 204.48 249.23 204.12 249.23L182.97 249.23L182.97 236.6L203.04 236.6C203.39 236.6 203.68 236.32 203.68 235.97L203.68 228.25C203.68 227.9 203.39 227.62 203.04 227.62L182.97 227.62L182.97 218.97L204.12 218.97Z" fill="#000000" fill-opacity="1.000000" fill-rule="evenodd"/>
|
||||
<path id="Fill-7" d="M204.76 218.35L204.76 210.62C204.76 210.28 204.48 210 204.12 210L182.33 210L173.98 210C173.63 210 173.34 210.28 173.34 210.62L173.34 218.35L173.34 228.25L173.34 235.97L173.34 249.85L173.34 257.58C173.34 257.92 173.63 258.2 173.98 258.2L182.33 258.2L204.12 258.2C204.48 258.2 204.76 257.92 204.76 257.58L204.76 249.85C204.76 249.51 204.48 249.23 204.12 249.23L182.97 249.23L182.97 236.6L203.04 236.6C203.39 236.6 203.68 236.32 203.68 235.97L203.68 228.25C203.68 227.9 203.39 227.62 203.04 227.62L182.97 227.62L182.97 218.97L204.12 218.97C204.48 218.97 204.76 218.69 204.76 218.35Z" stroke="#000000" stroke-opacity="1.000000" stroke-width="1.000000"/>
|
||||
<path id="Fill-9" d="M224.07 258.06C215.32 258.06 208.23 251.11 208.23 242.54L208.23 232.8L208.23 225.76L208.23 221.56C208.23 221.21 208.51 220.93 208.87 220.93L216.75 220.93C217.1 220.93 217.39 221.21 217.39 221.56L217.39 225.76L217.39 228.49L217.39 232.8L217.39 242.54C217.39 246.16 220.38 249.09 224.07 249.09C227.77 249.09 230.76 246.16 230.76 242.54L230.76 232.8L230.76 228.49L230.76 225.76L230.76 221.56C230.76 221.21 231.05 220.93 231.4 220.93L239.28 220.93C239.63 220.93 239.92 221.21 239.92 221.56L239.92 225.76L239.92 232.8L239.92 242.54C239.92 251.11 232.83 258.06 224.07 258.06Z" fill="#000000" fill-opacity="1.000000" fill-rule="evenodd"/>
|
||||
<path id="Fill-9" d="M208.23 242.54L208.23 232.8L208.23 225.76L208.23 221.56C208.23 221.21 208.51 220.93 208.87 220.93L216.75 220.93C217.1 220.93 217.39 221.21 217.39 221.56L217.39 225.76L217.39 228.49L217.39 232.8L217.39 242.54C217.39 246.16 220.38 249.09 224.07 249.09C227.77 249.09 230.76 246.16 230.76 242.54L230.76 232.8L230.76 228.49L230.76 225.76L230.76 221.56C230.76 221.21 231.05 220.93 231.4 220.93L239.28 220.93C239.63 220.93 239.92 221.21 239.92 221.56L239.92 225.76L239.92 232.8L239.92 242.54C239.92 251.11 232.83 258.06 224.07 258.06C215.32 258.06 208.23 251.11 208.23 242.54Z" stroke="#000000" stroke-opacity="1.000000" stroke-width="1.000000"/>
|
||||
<path id="Fill-11" d="M253.66 257.99L244.99 257.99L244.76 210.22L253.66 210L253.66 257.99Z" fill="#000000" fill-opacity="1.000000" fill-rule="evenodd"/>
|
||||
<path id="Fill-11" d="M244.99 257.99L244.76 210.22L253.66 210L253.66 257.99L244.99 257.99Z" stroke="#000000" stroke-opacity="1.000000" stroke-width="1.000000"/>
|
||||
<path id="Fill-13" d="M317.94 222.5C314.97 223.08 312.41 224.43 310.47 226.26L310.47 221.55C310.47 221.2 310.18 220.92 309.83 220.92L302.47 220.92C302.12 220.92 301.83 221.2 301.83 221.55L301.83 257.6C301.83 257.95 302.12 258.23 302.47 258.23L309.83 258.23C310.18 258.23 310.47 257.95 310.47 257.6L310.47 238.84C310.64 236.99 311.17 235.67 312.47 234.33C314.3 232.17 316.85 230.87 319.95 230.26C320.09 230.25 320.49 230.13 320.49 229.96C320.48 225.34 320.49 223.66 320.49 223.57C320.5 223.34 320.49 222.57 320.49 222.38C320.49 222.38 319.07 222.27 317.94 222.5Z" fill="#000000" fill-opacity="1.000000" fill-rule="evenodd"/>
|
||||
<path id="Fill-13" d="M310.47 226.26L310.47 221.55C310.47 221.2 310.18 220.92 309.83 220.92L302.47 220.92C302.12 220.92 301.83 221.2 301.83 221.55L301.83 257.6C301.83 257.95 302.12 258.23 302.47 258.23L309.83 258.23C310.18 258.23 310.47 257.95 310.47 257.6L310.47 238.84C310.64 236.99 311.17 235.67 312.47 234.33C314.3 232.17 316.85 230.87 319.95 230.26C320.09 230.25 320.49 230.13 320.49 229.96C320.48 225.34 320.49 223.66 320.49 223.57C320.5 223.34 320.49 222.57 320.49 222.38C320.49 222.38 319.07 222.27 317.94 222.5C314.97 223.08 312.41 224.43 310.47 226.26Z" stroke="#000000" stroke-opacity="1.000000" stroke-width="1.000000"/>
|
||||
<path id="Fill-15" d="M270.54 232.43C272.45 230.6 274.83 229.68 277.7 229.68C280.63 229.68 283.04 230.58 284.92 232.39C285.59 233.04 286.07 233.65 286.49 234.43C286.54 234.52 286.65 234.73 286.69 234.83L268.9 235.1C269.02 234.85 269.03 234.36 269.17 234.13C269.55 233.52 270 232.95 270.54 232.43ZM285.07 246.34C283.15 248.18 280.55 249.32 277.66 249.32C274.78 249.32 272.39 248.41 270.51 246.59C269.67 245.78 269.04 244.85 268.58 243.82C268.38 243.36 268.22 242.88 268.09 242.39C268.12 242.33 268.2 242.05 268.29 242.05C268.34 242.05 268.61 242.05 268.61 242.05L275.76 242.05L287.41 242.05C289.48 242.05 293.94 242.05 296.01 242.05C296.02 242.05 296.55 242.06 296.6 241.61C296.6 241.61 296.73 240.55 296.73 239.47C296.73 236.87 296.05 234.47 296.05 234.47C295.63 232.98 295.01 231.55 294.2 230.17C292.51 227.3 290.16 225.02 287.15 223.35C284.14 221.67 280.92 220.83 277.5 220.83C272.77 220.83 268.58 222.44 264.93 225.66C260.78 229.36 258.7 233.98 258.7 239.53C258.7 244.71 260.54 249.11 264.22 252.73C267.89 256.35 272.33 258.16 277.53 258.16C281.06 258.16 284.3 257.34 287.23 255.7C289.76 254.28 291.8 252.36 293.41 250C292.56 249.6 291.63 249.02 290.76 248.64C289.38 248.03 287.99 247.42 286.6 246.81C285.83 246.48 285.7 246.42 285.56 246.36C285.41 246.3 285.23 246.16 285.07 246.34Z" fill="#000000" fill-opacity="1.000000" fill-rule="evenodd"/>
|
||||
<path id="Fill-15" d="M277.7 229.68C280.63 229.68 283.04 230.58 284.92 232.39C285.59 233.04 286.07 233.65 286.49 234.43C286.54 234.52 286.65 234.73 286.69 234.83L268.9 235.1C269.02 234.85 269.03 234.36 269.17 234.13C269.55 233.52 270 232.95 270.54 232.43C272.45 230.6 274.83 229.68 277.7 229.68ZM277.66 249.32C274.78 249.32 272.39 248.41 270.51 246.59C269.67 245.78 269.04 244.85 268.58 243.82C268.38 243.36 268.22 242.88 268.09 242.39C268.12 242.33 268.2 242.05 268.29 242.05C268.34 242.05 268.61 242.05 268.61 242.05L275.76 242.05L287.41 242.05C289.48 242.05 293.94 242.05 296.01 242.05C296.02 242.05 296.55 242.06 296.6 241.61C296.6 241.61 296.73 240.55 296.73 239.47C296.73 236.87 296.05 234.47 296.05 234.47C295.63 232.98 295.01 231.55 294.2 230.17C292.51 227.3 290.16 225.02 287.15 223.35C284.14 221.67 280.92 220.83 277.5 220.83C272.77 220.83 268.58 222.44 264.93 225.66C260.78 229.36 258.7 233.98 258.7 239.53C258.7 244.71 260.54 249.11 264.22 252.73C267.89 256.35 272.33 258.16 277.53 258.16C281.06 258.16 284.3 257.34 287.23 255.7C289.76 254.28 291.8 252.36 293.41 250C292.56 249.6 291.63 249.02 290.76 248.64C289.38 248.03 287.99 247.42 286.6 246.81C285.83 246.48 285.7 246.42 285.56 246.36C285.41 246.3 285.23 246.16 285.07 246.34C283.15 248.18 280.55 249.32 277.66 249.32Z" stroke="#000000" stroke-opacity="1.000000" stroke-width="1.000000"/>
|
||||
<path id="Fill-17" d="M33.62 239.44C33.62 240.04 33.3 240.59 32.77 240.89L23.12 246.34C22.59 246.64 21.93 246.64 21.4 246.34L11.76 240.89C11.23 240.59 10.9 240.04 10.9 239.44L10.9 228.53C10.9 227.93 11.23 227.38 11.76 227.08L21.4 221.62C21.93 221.33 22.59 221.33 23.12 221.62L32.77 227.08C33.3 227.38 33.62 227.93 33.62 228.53L33.62 239.44ZM41.99 220.53L24.3 210.53C23.04 209.82 21.49 209.82 20.23 210.53L2.53 220.53C1.27 221.24 0.5 222.56 0.5 223.98L0.5 243.99C0.5 245.41 1.27 246.73 2.53 247.44L20.23 257.44C21.49 258.15 23.04 258.15 24.3 257.44L41.99 247.44C43.25 246.73 44.03 245.41 44.03 243.99L44.03 223.98C44.03 222.56 43.25 221.24 41.99 220.53Z" fill="#000000" fill-opacity="1.000000" fill-rule="evenodd"/>
|
||||
<path id="Fill-17" d="M32.77 240.89L23.12 246.34C22.59 246.64 21.93 246.64 21.4 246.34L11.76 240.89C11.23 240.59 10.9 240.04 10.9 239.44L10.9 228.53C10.9 227.93 11.23 227.38 11.76 227.08L21.4 221.62C21.93 221.33 22.59 221.33 23.12 221.62L32.77 227.08C33.3 227.38 33.62 227.93 33.62 228.53L33.62 239.44C33.62 240.04 33.3 240.59 32.77 240.89ZM24.3 210.53C23.04 209.82 21.49 209.82 20.23 210.53L2.53 220.53C1.27 221.24 0.5 222.56 0.5 223.98L0.5 243.99C0.5 245.41 1.27 246.73 2.53 247.44L20.23 257.44C21.49 258.15 23.04 258.15 24.3 257.44L41.99 247.44C43.25 246.73 44.03 245.41 44.03 243.99L44.03 223.98C44.03 222.56 43.25 221.24 41.99 220.53L24.3 210.53Z" stroke="#000000" stroke-opacity="1.000000" stroke-width="1.000000"/>
|
||||
<g filter="url(#filter_20_169_dd)">
|
||||
<mask id="mask20_167" mask-type="alpha" maskUnits="userSpaceOnUse" x="78.500000" y="0.000000" width="166.000000" height="185.514648">
|
||||
<path id="path-1" d="M78.5 0L244.5 0L244.5 185.51L78.5 185.51L78.5 0Z" fill="#FFFFFF" fill-opacity="1.000000" fill-rule="nonzero"/>
|
||||
</mask>
|
||||
<g mask="url(#mask20_167)">
|
||||
<path id="Fill-19" d="M227.4 72.33C223.74 76.9 214.33 78.75 206.86 76.4C199.73 74.15 197.43 69 201.29 64.94C205.01 61.03 213.34 59.34 220.28 61.11C227.53 62.95 230.91 67.94 227.4 72.33ZM194.42 63C190.52 66.93 182.14 68.62 176.09 66.71C172.73 65.65 170.87 63.44 170.77 61.6C170.69 60.18 168.52 58.88 166.13 58.18C163.72 57.46 160.94 57.53 158.15 57.87C157.44 57.95 155.95 58.27 154.99 58.59C152.42 59.43 150.2 60.38 148.35 61.9C146.05 63.78 145.28 67.14 145.33 68.38C145.41 70.13 147.04 71.62 149.53 72.54C151.97 73.45 155.02 73.62 158.04 73.14C161.74 72.16 165.8 72.12 169.12 73.28C175.2 75.39 176.74 80.79 172.14 85.42C167.34 90.25 158.12 92.06 151.99 89.4C148.59 87.93 147.39 85.24 147.21 82.75C147.07 80.81 145.3 79.25 142.9 78.28C140.49 77.31 137.66 77.34 134.5 77.61C134.09 77.64 132.21 78.01 131.05 78.32C129.47 78.73 126.22 79.63 123.49 82.28C121.33 84.37 120.37 86.35 119.82 87.54C119.5 88.22 119.12 89.77 119.1 90.3C119.03 92.48 120.29 94.46 122.74 95.73C125.16 96.98 128.36 97.32 131.66 96.84C135.77 95.75 140.09 95.86 143.42 97.47C149.55 100.42 150.27 107.43 144.51 113.22C138.48 119.29 128.22 121.24 122.14 117.5C118.81 115.45 117.85 112.36 118.32 108.76C118.32 108.74 118.3 107.88 118.19 107.43C118.19 107.43 118.1 106.72 117.64 105.8C117.02 104.58 116 103.56 114.61 102.77C112.25 101.42 109.12 101.08 105.86 101.56C101.77 102.65 97.77 102.49 95.14 100.88C90.66 98.12 92 92.26 97.75 87.84C100.72 85.56 104.33 84.06 107.74 83.48C110.99 82.83 114.35 81.37 116.97 79.3C119.54 77.27 120.88 75.05 120.99 73.14C121.01 73.1 121.05 72.1 120.87 71.05C120.75 69.4 120.84 67.77 122.36 65.98C123.34 64.84 125.45 63.74 127.76 63.31C129.34 63.02 131.38 63.08 132.54 63.02C133.54 62.97 135.28 62.77 135.89 62.59C138.22 61.9 139.61 61.13 141.34 59.76C143.11 58.37 144.2 56.9 144.39 55.57C144.43 55.29 144.53 53.98 144.5 53.82C143.91 50.69 148.34 47.26 154.38 46.15C157.45 45.59 160.34 45.74 162.52 46.42C164.74 46.98 166.37 48.08 166.91 49.37C166.99 49.6 167.1 49.93 167.13 50.18C167.65 51.56 169.17 52.74 171.64 53.41C174.06 54.06 176.95 54.11 179.75 53.65C183.11 52.76 186.92 52.62 190.18 53.45C196.13 54.96 198.19 59.21 194.42 63ZM180.29 132.64C174.33 140.13 162.42 142.29 154.45 137.39C146.94 132.76 146.28 123.82 152.31 117.46C158.07 111.39 168.3 109.44 175.75 113.02C183.62 116.81 185.95 125.54 180.29 132.64ZM238.76 42.24L167.23 1.51C163.68 -0.51 159.31 -0.51 155.77 1.51L84.22 42.24C80.68 44.26 78.49 47.99 78.49 52.02L78.49 133.48C78.49 137.52 80.68 141.25 84.22 143.27L155.77 184C159.31 186.02 163.68 186.02 167.23 184L238.76 143.27C242.31 141.25 244.5 137.52 244.5 133.48L244.5 52.02C244.5 47.99 242.31 44.26 238.76 42.24Z" fill="#002FA7" fill-opacity="1.000000" fill-rule="evenodd"/>
|
||||
<path id="Fill-19" d="M206.86 76.4C199.73 74.15 197.43 69 201.29 64.94C205.01 61.03 213.34 59.34 220.28 61.11C227.53 62.95 230.91 67.94 227.4 72.33C223.74 76.9 214.33 78.75 206.86 76.4ZM176.09 66.71C172.73 65.65 170.87 63.44 170.77 61.6C170.69 60.18 168.52 58.88 166.13 58.18C163.72 57.46 160.94 57.53 158.15 57.87C157.44 57.95 155.95 58.27 154.99 58.59C152.42 59.43 150.2 60.38 148.35 61.9C146.05 63.78 145.28 67.14 145.33 68.38C145.41 70.13 147.04 71.62 149.53 72.54C151.97 73.45 155.02 73.62 158.04 73.14C161.74 72.16 165.8 72.12 169.12 73.28C175.2 75.39 176.74 80.79 172.14 85.42C167.34 90.25 158.12 92.06 151.99 89.4C148.59 87.93 147.39 85.24 147.21 82.75C147.07 80.81 145.3 79.25 142.9 78.28C140.49 77.31 137.66 77.34 134.5 77.61C134.09 77.64 132.21 78.01 131.05 78.32C129.47 78.73 126.22 79.63 123.49 82.28C121.33 84.37 120.37 86.35 119.82 87.54C119.5 88.22 119.12 89.77 119.1 90.3C119.03 92.48 120.29 94.46 122.74 95.73C125.16 96.98 128.36 97.32 131.66 96.84C135.77 95.75 140.09 95.86 143.42 97.47C149.55 100.42 150.27 107.43 144.51 113.22C138.48 119.29 128.22 121.24 122.14 117.5C118.81 115.45 117.85 112.36 118.32 108.76C118.32 108.74 118.3 107.88 118.19 107.43C118.19 107.43 118.1 106.72 117.64 105.8C117.02 104.58 116 103.56 114.61 102.77C112.25 101.42 109.12 101.08 105.86 101.56C101.77 102.65 97.77 102.49 95.14 100.88C90.66 98.12 92 92.26 97.75 87.84C100.72 85.56 104.33 84.06 107.74 83.48C110.99 82.83 114.35 81.37 116.97 79.3C119.54 77.27 120.88 75.05 120.99 73.14C121.01 73.1 121.05 72.1 120.87 71.05C120.75 69.4 120.84 67.77 122.36 65.98C123.34 64.84 125.45 63.74 127.76 63.31C129.34 63.02 131.38 63.08 132.54 63.02C133.54 62.97 135.28 62.77 135.89 62.59C138.22 61.9 139.61 61.13 141.34 59.76C143.11 58.37 144.2 56.9 144.39 55.57C144.43 55.29 144.53 53.98 144.5 53.82C143.91 50.69 148.34 47.26 154.38 46.15C157.45 45.59 160.34 45.74 162.52 46.42C164.74 46.98 166.37 48.08 166.91 49.37C166.99 49.6 167.1 49.93 167.13 50.18C167.65 51.56 169.17 52.74 171.64 53.41C174.06 54.06 176.95 54.11 179.75 53.65C183.11 52.76 186.92 52.62 190.18 53.45C196.13 54.96 198.19 59.21 194.42 63C190.52 66.93 182.14 68.62 176.09 66.71ZM154.45 137.39C146.94 132.76 146.28 123.82 152.31 117.46C158.07 111.39 168.3 109.44 175.75 113.02C183.62 116.81 185.95 125.54 180.29 132.64C174.33 140.13 162.42 142.29 154.45 137.39ZM167.23 1.51C163.68 -0.51 159.31 -0.51 155.77 1.51L84.22 42.24C80.68 44.26 78.49 47.99 78.49 52.02L78.49 133.48C78.49 137.52 80.68 141.25 84.22 143.27L155.77 184C159.31 186.02 163.68 186.02 167.23 184L238.76 143.27C242.31 141.25 244.5 137.52 244.5 133.48L244.5 52.02C244.5 47.99 242.31 44.26 238.76 42.24L167.23 1.51Z" stroke="#000000" stroke-opacity="0" stroke-width="0.835652"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
BIN
Biglogo.svgz
Normal file
BIN
Minimal-Install.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
Slide1.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
Slide2.png
Normal file
|
After Width: | Height: | Size: 546 KiB |
BIN
Slide3.png
Normal file
|
After Width: | Height: | Size: 628 KiB |
BIN
calamares-3.3.7.tar.gz
Normal file
12
calamares-auto_de.ts
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="de">
|
||||
<context>
|
||||
<name>show</name>
|
||||
<message>
|
||||
<location filename="show.qml" line="37"/>
|
||||
<source>This installer is powered by Calamares, the cross-distribution installer framework.</source>
|
||||
<translation>Dieses Installationsprogramm beruht auf Calamares, dem distributionsunabhängigen Baukasten für Installationsprogramme.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
11
calamares-auto_fr.ts
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="fr">
|
||||
<context>
|
||||
<name>show</name>
|
||||
<message>
|
||||
<source>This installer is powered by Calamares, the cross-distribution installer framework.</source>
|
||||
<translation>Cet installeur tourne avec Calamares, la boîte d'outils pour installeurs toutes distributions.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
12
calamares-auto_it.ts
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="it">
|
||||
<context>
|
||||
<name>show</name>
|
||||
<message>
|
||||
<location filename="show.qml" line="37"/>
|
||||
<source>This installer is powered by Calamares, the cross-distribution installer framework.</source>
|
||||
<translation>Questo programma d'installazione si basa su Calamares, il framework per programmi d'installazione indipendente dalla distribuzione.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
13
calamares.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Calamares System Installer
|
||||
Wants=basic.target
|
||||
After=basic.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStartPre=/sbin/multipath -F
|
||||
ExecStart=/usr/bin/calamares -style Adwaita
|
||||
Restart=on-abort
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
339
calamares.spec
Normal file
@ -0,0 +1,339 @@
|
||||
%global __cmake_builddir %{!?__cmake_in_source_build:%{_vpath_builddir}}%{?__cmake_in_source_build:.}
|
||||
|
||||
Name: calamares
|
||||
Version: 3.3.7
|
||||
Release: 1
|
||||
Summary: Installer from a live CD/DVD/USB to disk
|
||||
|
||||
License: GPL-3.0-or-later
|
||||
URL: https://calamares.io/
|
||||
Source0: calamares-3.3.7.tar.gz
|
||||
Source2: show.qml
|
||||
# Run:
|
||||
# lupdate-qt6 show.qml -ts calamares-auto_fr.ts
|
||||
# then translate the template in linguist-qt6.
|
||||
Source3: calamares-auto_fr.ts
|
||||
# Run:
|
||||
# lupdate-qt6 show.qml -ts calamares-auto_de.ts
|
||||
# then translate the template in linguist-qt6.
|
||||
Source4: calamares-auto_de.ts
|
||||
# Run:
|
||||
# lupdate-qt6 show.qml -ts calamares-auto_it.ts
|
||||
# then translate the template in linguist-qt6.
|
||||
Source5: calamares-auto_it.ts
|
||||
Source6: calamares.service
|
||||
# Backports from upstream
|
||||
|
||||
#image:binary file:svg,png,svgz
|
||||
Source7: squid.png
|
||||
Source8: Biglogo.svgz
|
||||
Source9: Biglogo.svg
|
||||
Source10: Biglogo.png
|
||||
Source11: Minimal-Install.png
|
||||
Source12: gnome.png
|
||||
Source13: Slide1.png
|
||||
Source14: Slide2.png
|
||||
Source15: Slide3.png
|
||||
Source16: information.svgz
|
||||
Source17: openEuler.png
|
||||
Source18: openEulerWord-blus.png
|
||||
Source19: openEulerWord.png
|
||||
|
||||
# patch
|
||||
Patch0: 0001-branding-patch.patch
|
||||
Patch1: 0002-lang.patch
|
||||
Patch2: 0003-calamares.patch
|
||||
Patch3: 0004-libcalamares.patch
|
||||
Patch4: 0005-libcalamaresui.patch
|
||||
Patch5: 0006-modules-file.patch
|
||||
Patch6: 0007-root.patch
|
||||
Patch7: 0008-progromTree.patch
|
||||
Patch8: 0009-qss.patch
|
||||
# Calamares is only supported where live images (and GRUB) are. (#1171380)
|
||||
# This list matches the arches where grub2-efi is used to boot the system
|
||||
ExclusiveArch: %{ix86} x86_64 aarch64 riscv64
|
||||
|
||||
# Macros
|
||||
BuildRequires: git-core
|
||||
BuildRequires: kf5-rpm-macros
|
||||
|
||||
# Compilation tools
|
||||
BuildRequires: cmake >= 3.16
|
||||
BuildRequires: extra-cmake-modules
|
||||
BuildRequires: extra-cmake-modules
|
||||
BuildRequires: gcc-c++ >= 9.0.0
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: make
|
||||
##
|
||||
### Other build-time tools
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: gettext
|
||||
##
|
||||
### Qt 5
|
||||
BuildRequires: cmake(Qt5Concurrent)
|
||||
BuildRequires: cmake(Qt5Core)
|
||||
BuildRequires: cmake(Qt5DBus)
|
||||
BuildRequires: cmake(Qt5Gui)
|
||||
BuildRequires: cmake(Qt5LinguistTools)
|
||||
BuildRequires: cmake(Qt5Network)
|
||||
BuildRequires: cmake(Qt5Svg)
|
||||
BuildRequires: cmake(Qt5Widgets)
|
||||
BuildRequires: cmake(Qt5Quick)
|
||||
BuildRequires: cmake(Qt5QuickWidgets)
|
||||
BuildRequires: polkit-qt5-1-devel
|
||||
##
|
||||
### KF5
|
||||
BuildRequires: cmake(KF5CoreAddons)
|
||||
BuildRequires: cmake(KF5Config)
|
||||
BuildRequires: cmake(KF5Crash)
|
||||
BuildRequires: cmake(KF5DBusAddons)
|
||||
BuildRequires: cmake(KF5I18n)
|
||||
BuildRequires: cmake(KF5Package)
|
||||
BuildRequires: cmake(KF5Parts)
|
||||
BuildRequires: cmake(KF5Service)
|
||||
BuildRequires: cmake(KF5WidgetsAddons)
|
||||
##
|
||||
### Plasma
|
||||
#BuildRequires: cmake(Plasma)
|
||||
##
|
||||
### KPMcore
|
||||
BuildRequires: cmake(KPMcore) >= 4.2.0
|
||||
##
|
||||
### Python 3
|
||||
BuildRequires: python3-devel >= 3.3
|
||||
BuildRequires: python3-jsonschema
|
||||
BuildRequires: python3-pyyaml
|
||||
BuildRequires: boost-devel >= 1.55.0
|
||||
##%global __python %{__python3}
|
||||
##
|
||||
### Other libraries
|
||||
BuildRequires: cmake(AppStreamQt)
|
||||
BuildRequires: libpwquality-devel
|
||||
BuildRequires: libxcrypt-devel
|
||||
BuildRequires: parted-devel
|
||||
BuildRequires: yaml-cpp-devel >= 0.5.1
|
||||
|
||||
# for automatic branding setup
|
||||
Requires(post): system-release
|
||||
Requires(post): system-logos
|
||||
Requires: system-logos
|
||||
|
||||
Requires: python3-devel
|
||||
Requires: boost-devel
|
||||
Requires: coreutils
|
||||
Requires: util-linux
|
||||
Requires: upower
|
||||
Requires: NetworkManager
|
||||
Requires: dracut
|
||||
Requires: grub2
|
||||
%ifarch x86_64 aarch64 riscv64
|
||||
%ifarch x86_64
|
||||
# For x86 systems
|
||||
Requires: grub2-efi-x64
|
||||
Recommends: grub2-efi-ia32
|
||||
%else
|
||||
# For all non-x86 arches
|
||||
Requires: grub2-efi
|
||||
%endif
|
||||
Requires: efibootmgr
|
||||
%endif
|
||||
Requires: console-setup
|
||||
Requires: setxkbmap
|
||||
Requires: os-prober
|
||||
Requires: e2fsprogs
|
||||
Requires: dosfstools
|
||||
Requires: ntfsprogs
|
||||
Requires: gawk
|
||||
Requires: systemd
|
||||
Requires: rsync
|
||||
Requires: shadow-utils
|
||||
Requires: dnf
|
||||
Requires: kdesu
|
||||
Requires: hicolor-icon-theme
|
||||
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
# webview module is no longer available
|
||||
Obsoletes: %{name}-webview < 3.0.0~
|
||||
|
||||
|
||||
%description
|
||||
Calamares is a distribution-independent installer framework, designed to install
|
||||
from a live CD/DVD/USB environment to a hard disk. It includes a graphical
|
||||
installation program based on Qt 6. This package includes the Calamares
|
||||
framework and the required configuration files to produce a working replacement
|
||||
for Anaconda's liveinst.
|
||||
|
||||
|
||||
%package libs
|
||||
Summary: Calamares runtime libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description libs
|
||||
%{summary}.
|
||||
|
||||
|
||||
%package interactiveterminal
|
||||
Summary: Calamares interactiveterminal module
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description interactiveterminal
|
||||
Optional interactiveterminal module for the Calamares installer, based on the
|
||||
KonsolePart (from Konsole 6)
|
||||
|
||||
|
||||
%package plasmalnf
|
||||
Summary: Calamares plasmalnf module
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description plasmalnf
|
||||
Optional plasmalnf module for the Calamares installer, based on the KDE Plasma
|
||||
Desktop Workspace and its KDE Frameworks (KConfig, KPackage, Plasma)
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: cmake
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
developing custom modules for Calamares.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
# 配置文件与资源文件的准备
|
||||
mkdir -p %{_builddir}/calamares-3.3.7/data/config-appimage/branding/default
|
||||
install -Dm 0644 %{SOURCE7} %{_builddir}/calamares-3.3.7/data/config-appimage/branding/default/squid.png
|
||||
|
||||
mkdir -p %{_builddir}/calamares-3.3.7/data/images
|
||||
install -Dm 0644 %{SOURCE8} %{_builddir}/calamares-3.3.7/data/images/Biglogo.svgz
|
||||
install -Dm 0644 %{SOURCE9} %{_builddir}/calamares-3.3.7/data/images/Biglogo.svg
|
||||
install -Dm 0644 %{SOURCE16} %{_builddir}/calamares-3.3.7/data/images/information.svgz
|
||||
mkdir -p %{_builddir}/calamares-3.3.7/src/modules/packagechooser/images
|
||||
install -Dm 0644 %{SOURCE10} %{_builddir}/calamares-3.3.7/src/branding/default/Biglogo.png
|
||||
install -Dm 0644 %{SOURCE11} %{_builddir}/calamares-3.3.7/src/modules/packagechooser/images/Minimal-Install.png
|
||||
install -Dm 0644 %{SOURCE9} %{_builddir}/calamares-3.3.7/src/branding/default/Biglogo.svg
|
||||
install -Dm 0644 %{SOURCE8} %{_builddir}/calamares-3.3.7/src/branding/default/Biglogo.svgz
|
||||
install -Dm 0644 %{SOURCE7} %{_builddir}/calamares-3.3.7/src/branding/default/squid.png
|
||||
install -Dm 0644 %{SOURCE12} %{_builddir}/calamares-3.3.7/src/modules/packagechooser/images/gnome.png
|
||||
install -Dm 0644 %{SOURCE13} %{_builddir}/calamares-3.3.7/src/branding/default/Slide1.png
|
||||
install -Dm 0644 %{SOURCE14} %{_builddir}/calamares-3.3.7/src/branding/default/Slide2.png
|
||||
install -Dm 0644 %{SOURCE15} %{_builddir}/calamares-3.3.7/src/branding/default/Slide3.png
|
||||
install -Dm 0644 %{SOURCE17} %{_builddir}/calamares-3.3.7/src/branding/default/openEuler.png
|
||||
install -Dm 0644 %{SOURCE18} %{_builddir}/calamares-3.3.7/src/branding/default/openEulerWord-blus.png
|
||||
install -Dm 0644 %{SOURCE19} %{_builddir}/calamares-3.3.7/src/branding/default/openEulerWord.png
|
||||
%build
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DINSTALL_CONFIG=ON
|
||||
make -j 2
|
||||
|
||||
%install
|
||||
cd build
|
||||
%make_install
|
||||
|
||||
# 创建auto branding目录并安装相关文件
|
||||
mkdir -p %{buildroot}%{_datadir}/calamares/branding/auto
|
||||
touch %{buildroot}%{_datadir}/calamares/branding/auto/branding.desc
|
||||
install -p -m 644 %{SOURCE2} %{buildroot}%{_datadir}/calamares/branding/auto/show.qml
|
||||
|
||||
# 翻译文件
|
||||
mkdir -p %{buildroot}%{_datadir}/calamares/branding/auto/lang
|
||||
lrelease-qt5 %{SOURCE3} -qm %{buildroot}%{_datadir}/calamares/branding/auto/lang/calamares-auto_fr.qm
|
||||
lrelease-qt5 %{SOURCE4} -qm %{buildroot}%{_datadir}/calamares/branding/auto/lang/calamares-auto_de.qm
|
||||
lrelease-qt5 %{SOURCE5} -qm %{buildroot}%{_datadir}/calamares/branding/auto/lang/calamares-auto_it.qm
|
||||
|
||||
# 系统配置目录
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/calamares/modules
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/calamares/branding
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/systemd/system
|
||||
install -p -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/systemd/system/calamares.service
|
||||
|
||||
# 额外资源文件/data/
|
||||
mkdir -p %{buildroot}/data/config-appimage/branding/default
|
||||
install -Dm 0644 %{SOURCE7} %{buildroot}/data/config-appimage/branding/default/squid.png
|
||||
|
||||
mkdir -p %{buildroot}/data/images
|
||||
install -Dm 0644 %{SOURCE8} %{buildroot}/data/images/Biglogo.svgz
|
||||
install -Dm 0644 %{SOURCE9} %{buildroot}/data/images/Biglogo.svg
|
||||
install -Dm 0644 %{SOURCE16} %{buildroot}/data/images/information.svgz
|
||||
|
||||
# calamares模块图片目录
|
||||
mkdir -p %{buildroot}%{_datadir}/calamares/modules/packagechooser/images
|
||||
install -Dm 0644 %{SOURCE10} %{buildroot}%{_datadir}/calamares/branding/default/Biglogo.png
|
||||
install -Dm 0644 %{SOURCE11} %{buildroot}%{_datadir}/calamares/modules/packagechooser/images/Minimal-Install.png
|
||||
install -Dm 0644 %{SOURCE9} %{buildroot}%{_datadir}/calamares/branding/default/Biglogo.svg
|
||||
install -Dm 0644 %{SOURCE8} %{buildroot}%{_datadir}/calamares/branding/default/Biglogo.svgz
|
||||
install -Dm 0644 %{SOURCE7} %{buildroot}%{_datadir}/calamares/branding/default/squid.png
|
||||
install -Dm 0644 %{SOURCE12} %{buildroot}%{_datadir}/calamares/modules/packagechooser/images/gnome.png
|
||||
install -Dm 0644 %{SOURCE13} %{buildroot}%{_datadir}/calamares/branding/default/Slide1.png
|
||||
install -Dm 0644 %{SOURCE14} %{buildroot}%{_datadir}/calamares/branding/default/Slide2.png
|
||||
install -Dm 0644 %{SOURCE15} %{buildroot}%{_datadir}/calamares/branding/default/Slide3.png
|
||||
install -Dm 0644 %{SOURCE17} %{buildroot}%{_datadir}/calamares/branding/default/openEuler.png
|
||||
install -Dm 0644 %{SOURCE18} %{buildroot}%{_datadir}/calamares/branding/default/openEulerWord-blus.png
|
||||
install -Dm 0644 %{SOURCE19} %{buildroot}%{_datadir}/calamares/branding/default/openEulerWord.png
|
||||
|
||||
%files
|
||||
%doc AUTHORS
|
||||
%license LICENSES/*
|
||||
%{_bindir}/calamares
|
||||
%{_datadir}/calamares/
|
||||
%{_datadir}/calamares/settings.conf
|
||||
%{_datadir}/calamares/branding/default/
|
||||
%{_datadir}/calamares/branding/auto/
|
||||
%ghost %{_datadir}/calamares/branding/auto/branding.desc
|
||||
%{_datadir}/calamares/branding/auto/show.qml
|
||||
%{_datadir}/calamares/branding/auto/lang/
|
||||
%{_datadir}/calamares/modules/
|
||||
%{_datadir}/calamares/qml/
|
||||
%{_datadir}/applications/calamares.desktop
|
||||
%{_datadir}/icons/hicolor/scalable/apps/calamares.svg
|
||||
%{_mandir}/man8/calamares.8*
|
||||
%{_sysconfdir}/calamares/
|
||||
%{_datadir}/locale/
|
||||
%{_datadir}/polkit-1/
|
||||
%{_sysconfdir}/systemd/system/calamares.service
|
||||
%{_datadir}/bash-completion/completions/calamares
|
||||
%dir /data/
|
||||
%dir /data/images/
|
||||
/data/images/Biglogo.svgz
|
||||
/data/images/Biglogo.svg
|
||||
/data/images/information.svgz
|
||||
%dir /data/config-appimage/
|
||||
%dir /data/config-appimage/branding/
|
||||
%dir /data/config-appimage/branding/default/
|
||||
/data/config-appimage/branding/default/squid.png
|
||||
%{_datadir}/calamares/branding/default/squid.png
|
||||
%{_datadir}/calamares/branding/default/Biglogo.svg
|
||||
%{_datadir}/calamares/branding/default/Biglogo.svgz
|
||||
%{_datadir}/calamares/branding/default/openEulerWord-blus.png
|
||||
%{_datadir}/calamares/branding/default/openEulerWord.png
|
||||
%{_datadir}/calamares/branding/default/openEuler.png
|
||||
|
||||
%files libs
|
||||
%{_libdir}/libcalamares.so.*
|
||||
%{_libdir}/libcalamaresui.so.*
|
||||
%{_libdir}/calamares/
|
||||
%exclude %{_libdir}/calamares/modules/interactiveterminal/
|
||||
|
||||
%files interactiveterminal
|
||||
%{_datadir}/calamares/modules/interactiveterminal.conf
|
||||
%{_libdir}/calamares/modules/interactiveterminal/
|
||||
|
||||
%files devel
|
||||
%{_includedir}/libcalamares/
|
||||
%{_libdir}/libcalamares.so
|
||||
%{_libdir}/libcalamaresui.so
|
||||
%{_libdir}/cmake/Calamares/
|
||||
|
||||
%clean
|
||||
cd %{_builddir} || exit 0
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%changelog
|
||||
* Wed Oct 9 2024 Li Ping <liping136@huawei.com> - 3.3.7-1
|
||||
- Initial package
|
||||
BIN
information.svgz
Normal file
BIN
openEuler.png
Normal file
|
After Width: | Height: | Size: 962 B |
BIN
openEulerWord-blus.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
openEulerWord.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
45
show.qml
Normal file
@ -0,0 +1,45 @@
|
||||
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
|
||||
* Copyright 2015, Kevin Kofler <kevin.kofler@chello.at>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Calamares is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import QtQuick 2.0;
|
||||
import calamares.slideshow 1.0;
|
||||
|
||||
Presentation
|
||||
{
|
||||
Slide {
|
||||
Image {
|
||||
id: background
|
||||
source: "/usr/share/calamares/branding/default/squid.png"
|
||||
width: 200; height: 200
|
||||
fillMode: Image.PreserveAspectFit
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
|
||||
Text {
|
||||
anchors.horizontalCenter: background.horizontalCenter
|
||||
anchors.top: background.bottom
|
||||
text: qsTr("This installer is powered by Calamares, the cross-distribution installer framework.") +
|
||||
"<br/><a href=\"https://calamares.io/\">https://calamares.io/</a>"
|
||||
wrapMode: Text.WordWrap
|
||||
width: root.width
|
||||
horizontalAlignment: Text.Center
|
||||
onLinkActivated: Qt.openUrlExternally(link)
|
||||
}
|
||||
}
|
||||
}
|
||||