!3 calamares-3.3.7源码+9个补丁+图片+翻译+配置

From: @cui-gaoleng 
Reviewed-by: @lipingEmmaSiguyi 
Signed-off-by: @lipingEmmaSiguyi
This commit is contained in:
openeuler-ci-bot 2024-11-21 02:54:59 +00:00 committed by Gitee
commit fcbae85988
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
29 changed files with 37914 additions and 0 deletions

176
0001-branding-patch.patch Normal file
View 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

File diff suppressed because it is too large Load Diff

1441
0003-calamares.patch Normal file

File diff suppressed because it is too large Load Diff

165
0004-libcalamares.patch Normal file
View 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
View 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

File diff suppressed because it is too large Load Diff

175
0007-root.patch Normal file
View 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
View 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
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

44
Biglogo.svg Normal file
View 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

Binary file not shown.

BIN
Minimal-Install.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
Slide1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
Slide2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 KiB

BIN
Slide3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

BIN
calamares-3.3.7.tar.gz Normal file

Binary file not shown.

12
calamares-auto_de.ts Normal file
View 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
View 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&apos;outils pour installeurs toutes distributions.</translation>
</message>
</context>
</TS>

12
calamares-auto_it.ts Normal file
View 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&apos;installazione si basa su Calamares, il framework per programmi d&apos;installazione indipendente dalla distribuzione.</translation>
</message>
</context>
</TS>

13
calamares.service Normal file
View 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
View 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
gnome.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 KiB

BIN
information.svgz Normal file

Binary file not shown.

BIN
openEuler.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 962 B

BIN
openEulerWord-blus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
openEulerWord.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

45
show.qml Normal file
View 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)
}
}
}

BIN
squid.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 962 B