From 1bb48bcef74d2b5123812e1b4e1e180fc622696c Mon Sep 17 00:00:00 2001 From: Andrei Kortunov Date: Sun, 21 Apr 2024 20:56:06 +0400 Subject: [PATCH] Treat editor icons as scalable --- CI/before_script.msvc.sh | 18 + CMakeLists.txt | 20 +- apps/launcher/CMakeLists.txt | 2 +- apps/opencs/view/doc/startup.cpp | 8 +- apps/opencs/view/doc/startup.hpp | 2 +- apps/opencs/view/render/instancemovemode.cpp | 2 +- apps/opencs/view/widget/scenetoolmode.cpp | 2 +- .../view/widget/scenetoolshapebrush.cpp | 16 +- .../view/widget/scenetooltexturebrush.cpp | 16 +- apps/opencs/view/widget/scenetooltoggle2.cpp | 2 +- apps/opencs/view/world/dragrecordtable.cpp | 2 +- apps/wizard/CMakeLists.txt | 2 +- .../contentselector/view/contentselector.cpp | 2 +- files/opencs/configure.svg | 501 ++++++++++++++++++ files/opencs/{scalable => }/editor-icons.svg | 0 files/opencs/menu-reload.svg | 85 ++- files/opencs/object.svg | 8 +- files/opencs/raster/startup/big/configure.png | Bin 17972 -> 0 bytes .../opencs/raster/startup/small/configure.png | Bin 1450 -> 0 bytes .../raster/startup/small/create-addon.png | Bin 1714 -> 0 bytes .../raster/startup/small/edit-content.png | Bin 2471 -> 0 bytes .../opencs/raster/startup/small/new-game.png | Bin 2122 -> 0 bytes files/opencs/record-edit.svg | 2 +- files/opencs/record-touch.svg | 31 +- files/opencs/resources.qrc | 2 +- files/opencs/run-log.svg | 7 +- files/opencs/scalable/startup/configure.svgz | Bin 5808 -> 0 bytes files/opencs/sound.svg | 14 +- 28 files changed, 669 insertions(+), 75 deletions(-) create mode 100644 files/opencs/configure.svg rename files/opencs/{scalable => }/editor-icons.svg (100%) delete mode 100644 files/opencs/raster/startup/big/configure.png delete mode 100644 files/opencs/raster/startup/small/configure.png delete mode 100644 files/opencs/raster/startup/small/create-addon.png delete mode 100644 files/opencs/raster/startup/small/edit-content.png delete mode 100644 files/opencs/raster/startup/small/new-game.png delete mode 100644 files/opencs/scalable/startup/configure.svgz diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index c2d91ccfd3..2423f0c54f 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -357,6 +357,16 @@ add_qt_image_dlls() { QT_IMAGEFORMATS[$CONFIG]="${QT_IMAGEFORMATS[$CONFIG]} $@" } +declare -A QT_ICONENGINES +QT_ICONENGINES["Release"]="" +QT_ICONENGINES["Debug"]="" +QT_ICONENGINES["RelWithDebInfo"]="" +add_qt_icon_dlls() { + local CONFIG=$1 + shift + QT_ICONENGINES[$CONFIG]="${QT_ICONENGINES[$CONFIG]} $@" +} + if [ -z $PLATFORM ]; then PLATFORM="$(uname -m)" fi @@ -942,6 +952,7 @@ printf "Qt ${QT_VER}... " add_qt_platform_dlls $CONFIGURATION "$(pwd)/plugins/platforms/qwindows${DLLSUFFIX}.dll" add_qt_image_dlls $CONFIGURATION "$(pwd)/plugins/imageformats/qsvg${DLLSUFFIX}.dll" + add_qt_icon_dlls $CONFIGURATION "$(pwd)/plugins/iconengines/qsvgicon${DLLSUFFIX}.dll" done echo Done. } @@ -1143,6 +1154,13 @@ fi cp "$DLL" "${DLL_PREFIX}imageformats" done echo + echo "- Qt Icon Engine DLLs..." + mkdir -p ${DLL_PREFIX}iconengines + for DLL in ${QT_ICONENGINES[$CONFIGURATION]}; do + echo " $(basename $DLL)" + cp "$DLL" "${DLL_PREFIX}iconengines" + done + echo done #fi diff --git a/CMakeLists.txt b/CMakeLists.txt index 074c91344b..b478a799eb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -825,6 +825,18 @@ if (OPENMW_OSX_DEPLOYMENT AND APPLE) get_filename_component(QT_QMACSTYLE_PLUGIN_NAME "${QT_QMACSTYLE_PLUGIN_PATH}" NAME) configure_file("${QT_QMACSTYLE_PLUGIN_PATH}" "${APP_BUNDLE_DIR}/Contents/PlugIns/${QT_QMACSTYLE_PLUGIN_GROUP}/${QT_QMACSTYLE_PLUGIN_NAME}" COPYONLY) + get_property(QT_QSVG_PLUGIN_PATH TARGET Qt${QT_VERSION_MAJOR}::QSvgPlugin PROPERTY LOCATION_RELEASE) + get_filename_component(QT_QSVG_PLUGIN_DIR "${QT_QSVG_PLUGIN_PATH}" DIRECTORY) + get_filename_component(QT_QSVG_PLUGIN_GROUP "${QT_QSVG_PLUGIN_DIR}" NAME) + get_filename_component(QT_QSVG_PLUGIN_NAME "${QT_QSVG_PLUGIN_PATH}" NAME) + configure_file("${QT_QSVG_PLUGIN_PATH}" "${APP_BUNDLE_DIR}/Contents/PlugIns/${QT_QSVG_PLUGIN_GROUP}/${QT_QSVG_PLUGIN_NAME}" COPYONLY) + + get_property(QT_QSVG_ICON_PLUGIN_PATH TARGET Qt${QT_VERSION_MAJOR}::QSvgIconPlugin PROPERTY LOCATION_RELEASE) + get_filename_component(QT_QSVG_ICON_PLUGIN_DIR "${QT_QSVG_ICON_PLUGIN_PATH}" DIRECTORY) + get_filename_component(QT_QSVG_ICON_PLUGIN_GROUP "${QT_QSVG_ICON_PLUGIN_DIR}" NAME) + get_filename_component(QT_QSVG_ICON_PLUGIN_NAME "${QT_QSVG_ICON_PLUGIN_PATH}" NAME) + configure_file("${QT_QSVG_ICON_PLUGIN_PATH}" "${APP_BUNDLE_DIR}/Contents/PlugIns/${QT_QSVG_ICON_PLUGIN_GROUP}/${QT_QSVG_ICON_PLUGIN_NAME}" COPYONLY) + configure_file("${OpenMW_SOURCE_DIR}/files/mac/qt.conf" "${APP_BUNDLE_DIR}/Contents/Resources/qt.conf" COPYONLY) if (BUILD_OPENCS) @@ -832,13 +844,9 @@ if (OPENMW_OSX_DEPLOYMENT AND APPLE) set(OPENCS_BUNDLE_NAME "${OPENCS_BUNDLE_NAME_TMP}.app") configure_file("${QT_COCOA_PLUGIN_PATH}" "${OPENCS_BUNDLE_NAME}/Contents/PlugIns/${QT_COCOA_PLUGIN_GROUP}/${QT_COCOA_PLUGIN_NAME}" COPYONLY) configure_file("${QT_QMACSTYLE_PLUGIN_PATH}" "${OPENCS_BUNDLE_NAME}/Contents/PlugIns/${QT_QMACSTYLE_PLUGIN_GROUP}/${QT_QMACSTYLE_PLUGIN_NAME}" COPYONLY) - configure_file("${OpenMW_SOURCE_DIR}/files/mac/qt.conf" "${OPENCS_BUNDLE_NAME}/Contents/Resources/qt.conf" COPYONLY) - - get_property(QT_QSVG_PLUGIN_PATH TARGET Qt${QT_VERSION_MAJOR}::QSvgPlugin PROPERTY LOCATION_RELEASE) - get_filename_component(QT_QSVG_PLUGIN_DIR "${QT_QSVG_PLUGIN_PATH}" DIRECTORY) - get_filename_component(QT_QSVG_PLUGIN_GROUP "${QT_QSVG_PLUGIN_DIR}" NAME) - get_filename_component(QT_QSVG_PLUGIN_NAME "${QT_QSVG_PLUGIN_PATH}" NAME) configure_file("${QT_QSVG_PLUGIN_PATH}" "${OPENCS_BUNDLE_NAME}/Contents/PlugIns/${QT_QSVG_PLUGIN_GROUP}/${QT_QSVG_PLUGIN_NAME}" COPYONLY) + configure_file("${QT_QSVG_ICON_PLUGIN_PATH}" "${OPENCS_BUNDLE_NAME}/Contents/PlugIns/${QT_QSVG_ICON_PLUGIN_GROUP}/${QT_QSVG_ICON_PLUGIN_NAME}" COPYONLY) + configure_file("${OpenMW_SOURCE_DIR}/files/mac/qt.conf" "${OPENCS_BUNDLE_NAME}/Contents/Resources/qt.conf" COPYONLY) endif () install(DIRECTORY "${APP_BUNDLE_DIR}" USE_SOURCE_PERMISSIONS DESTINATION "." COMPONENT Runtime) diff --git a/apps/launcher/CMakeLists.txt b/apps/launcher/CMakeLists.txt index bd6a7062fd..91b985948d 100644 --- a/apps/launcher/CMakeLists.txt +++ b/apps/launcher/CMakeLists.txt @@ -83,7 +83,7 @@ target_link_libraries(openmw-launcher components_qt ) -target_link_libraries(openmw-launcher Qt::Widgets Qt::Core) +target_link_libraries(openmw-launcher Qt::Widgets Qt::Core Qt::Svg) if (BUILD_WITH_CODE_COVERAGE) target_compile_options(openmw-launcher PRIVATE --coverage) diff --git a/apps/opencs/view/doc/startup.cpp b/apps/opencs/view/doc/startup.cpp index 27463b0456..e6323bf1a1 100644 --- a/apps/opencs/view/doc/startup.cpp +++ b/apps/opencs/view/doc/startup.cpp @@ -10,7 +10,7 @@ #include #include -QPushButton* CSVDoc::StartupDialogue::addButton(const QString& label, const QIcon& icon) +QPushButton* CSVDoc::StartupDialogue::addButton(const QString& label, const QString& icon) { int column = mColumn--; @@ -39,13 +39,13 @@ QWidget* CSVDoc::StartupDialogue::createButtons() mLayout = new QGridLayout(widget); /// \todo add icons - QPushButton* loadDocument = addButton("Edit A Content File", QIcon(":startup/edit-content")); + QPushButton* loadDocument = addButton("Edit A Content File", ":startup/edit-content"); connect(loadDocument, &QPushButton::clicked, this, &StartupDialogue::loadDocument); - QPushButton* createAddon = addButton("Create A New Addon", QIcon(":startup/create-addon")); + QPushButton* createAddon = addButton("Create A New Addon", ":startup/create-addon"); connect(createAddon, &QPushButton::clicked, this, &StartupDialogue::createAddon); - QPushButton* createGame = addButton("Create A New Game", QIcon(":startup/create-game")); + QPushButton* createGame = addButton("Create A New Game", ":startup/create-game"); connect(createGame, &QPushButton::clicked, this, &StartupDialogue::createGame); for (int i = 0; i < 3; ++i) diff --git a/apps/opencs/view/doc/startup.hpp b/apps/opencs/view/doc/startup.hpp index 061b91b2d1..f2cccfcd38 100644 --- a/apps/opencs/view/doc/startup.hpp +++ b/apps/opencs/view/doc/startup.hpp @@ -20,7 +20,7 @@ namespace CSVDoc int mColumn; QGridLayout* mLayout; - QPushButton* addButton(const QString& label, const QIcon& icon); + QPushButton* addButton(const QString& label, const QString& icon); QWidget* createButtons(); diff --git a/apps/opencs/view/render/instancemovemode.cpp b/apps/opencs/view/render/instancemovemode.cpp index e4004a1537..bc999eb633 100644 --- a/apps/opencs/view/render/instancemovemode.cpp +++ b/apps/opencs/view/render/instancemovemode.cpp @@ -8,7 +8,7 @@ class QWidget; CSVRender::InstanceMoveMode::InstanceMoveMode(QWidget* parent) - : ModeButton(QIcon(QPixmap(":scenetoolbar/transform-move")), + : ModeButton(QIcon(":scenetoolbar/transform-move"), "Move selected instances" "
  • Use {scene-edit-primary} to move instances around freely
  • " "
  • Use {scene-edit-secondary} to move instances around within the grid
  • " diff --git a/apps/opencs/view/widget/scenetoolmode.cpp b/apps/opencs/view/widget/scenetoolmode.cpp index f2795d6de9..1fa7cfb690 100644 --- a/apps/opencs/view/widget/scenetoolmode.cpp +++ b/apps/opencs/view/widget/scenetoolmode.cpp @@ -94,7 +94,7 @@ void CSVWidget::SceneToolMode::showPanel(const QPoint& position) void CSVWidget::SceneToolMode::addButton(const std::string& icon, const std::string& id, const QString& tooltip) { - ModeButton* button = new ModeButton(QIcon(QPixmap(icon.c_str())), tooltip, mPanel); + ModeButton* button = new ModeButton(QIcon(icon.c_str()), tooltip, mPanel); addButton(button, id); } diff --git a/apps/opencs/view/widget/scenetoolshapebrush.cpp b/apps/opencs/view/widget/scenetoolshapebrush.cpp index 57b78ffc71..0e040c2385 100644 --- a/apps/opencs/view/widget/scenetoolshapebrush.cpp +++ b/apps/opencs/view/widget/scenetoolshapebrush.cpp @@ -60,10 +60,10 @@ CSVWidget::ShapeBrushWindow::ShapeBrushWindow(CSMDoc::Document& document, QWidge : QFrame(parent, Qt::Popup) , mDocument(document) { - mButtonPoint = new QPushButton(QIcon(QPixmap(":scenetoolbar/brush-point")), "", this); - mButtonSquare = new QPushButton(QIcon(QPixmap(":scenetoolbar/brush-square")), "", this); - mButtonCircle = new QPushButton(QIcon(QPixmap(":scenetoolbar/brush-circle")), "", this); - mButtonCustom = new QPushButton(QIcon(QPixmap(":scenetoolbar/brush-custom")), "", this); + mButtonPoint = new QPushButton(QIcon(":scenetoolbar/brush-point"), "", this); + mButtonSquare = new QPushButton(QIcon(":scenetoolbar/brush-square"), "", this); + mButtonCircle = new QPushButton(QIcon(":scenetoolbar/brush-circle"), "", this); + mButtonCustom = new QPushButton(QIcon(":scenetoolbar/brush-custom"), "", this); mSizeSliders = new ShapeBrushSizeControls("Brush size", this); @@ -201,25 +201,25 @@ void CSVWidget::SceneToolShapeBrush::setButtonIcon(CSVWidget::BrushShape brushSh { case BrushShape_Point: - setIcon(QIcon(QPixmap(":scenetoolbar/brush-point"))); + setIcon(QIcon(":scenetoolbar/brush-point")); tooltip += mShapeBrushWindow->toolTipPoint; break; case BrushShape_Square: - setIcon(QIcon(QPixmap(":scenetoolbar/brush-square"))); + setIcon(QIcon(":scenetoolbar/brush-square")); tooltip += mShapeBrushWindow->toolTipSquare; break; case BrushShape_Circle: - setIcon(QIcon(QPixmap(":scenetoolbar/brush-circle"))); + setIcon(QIcon(":scenetoolbar/brush-circle")); tooltip += mShapeBrushWindow->toolTipCircle; break; case BrushShape_Custom: - setIcon(QIcon(QPixmap(":scenetoolbar/brush-custom"))); + setIcon(QIcon(":scenetoolbar/brush-custom")); tooltip += mShapeBrushWindow->toolTipCustom; break; } diff --git a/apps/opencs/view/widget/scenetooltexturebrush.cpp b/apps/opencs/view/widget/scenetooltexturebrush.cpp index 9c3e723009..2e002aaf2e 100644 --- a/apps/opencs/view/widget/scenetooltexturebrush.cpp +++ b/apps/opencs/view/widget/scenetooltexturebrush.cpp @@ -90,10 +90,10 @@ CSVWidget::TextureBrushWindow::TextureBrushWindow(CSMDoc::Document& document, QW mSelectedBrush = new QLabel(QString::fromStdString(mBrushTextureLabel)); } - mButtonPoint = new QPushButton(QIcon(QPixmap(":scenetoolbar/brush-point")), "", this); - mButtonSquare = new QPushButton(QIcon(QPixmap(":scenetoolbar/brush-square")), "", this); - mButtonCircle = new QPushButton(QIcon(QPixmap(":scenetoolbar/brush-circle")), "", this); - mButtonCustom = new QPushButton(QIcon(QPixmap(":scenetoolbar/brush-custom")), "", this); + mButtonPoint = new QPushButton(QIcon(":scenetoolbar/brush-point"), "", this); + mButtonSquare = new QPushButton(QIcon(":scenetoolbar/brush-square"), "", this); + mButtonCircle = new QPushButton(QIcon(":scenetoolbar/brush-circle"), "", this); + mButtonCustom = new QPushButton(QIcon(":scenetoolbar/brush-custom"), "", this); mSizeSliders = new BrushSizeControls("Brush size", this); @@ -282,25 +282,25 @@ void CSVWidget::SceneToolTextureBrush::setButtonIcon(CSVWidget::BrushShape brush { case BrushShape_Point: - setIcon(QIcon(QPixmap(":scenetoolbar/brush-point"))); + setIcon(QIcon(":scenetoolbar/brush-point")); tooltip += mTextureBrushWindow->toolTipPoint; break; case BrushShape_Square: - setIcon(QIcon(QPixmap(":scenetoolbar/brush-square"))); + setIcon(QIcon(":scenetoolbar/brush-square")); tooltip += mTextureBrushWindow->toolTipSquare; break; case BrushShape_Circle: - setIcon(QIcon(QPixmap(":scenetoolbar/brush-circle"))); + setIcon(QIcon(":scenetoolbar/brush-circle")); tooltip += mTextureBrushWindow->toolTipCircle; break; case BrushShape_Custom: - setIcon(QIcon(QPixmap(":scenetoolbar/brush-custom"))); + setIcon(QIcon(":scenetoolbar/brush-custom")); tooltip += mTextureBrushWindow->toolTipCustom; break; } diff --git a/apps/opencs/view/widget/scenetooltoggle2.cpp b/apps/opencs/view/widget/scenetooltoggle2.cpp index 8dbd1e804c..44bffa34a6 100644 --- a/apps/opencs/view/widget/scenetooltoggle2.cpp +++ b/apps/opencs/view/widget/scenetooltoggle2.cpp @@ -88,7 +88,7 @@ void CSVWidget::SceneToolToggle2::addButton( stream << mSingleIcon << id; PushButton* button = new PushButton( - QIcon(QPixmap(stream.str().c_str())), PushButton::Type_Toggle, tooltip.isEmpty() ? name : tooltip, mPanel); + QIcon(stream.str().c_str()), PushButton::Type_Toggle, tooltip.isEmpty() ? name : tooltip, mPanel); button->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); button->setIconSize(QSize(mIconSize, mIconSize)); diff --git a/apps/opencs/view/world/dragrecordtable.cpp b/apps/opencs/view/world/dragrecordtable.cpp index 11a0c9a540..a8a3df309c 100644 --- a/apps/opencs/view/world/dragrecordtable.cpp +++ b/apps/opencs/view/world/dragrecordtable.cpp @@ -29,7 +29,7 @@ void CSVWorld::DragRecordTable::startDragFromTable(const CSVWorld::DragRecordTab mime->setIndexAtDragStart(index); QDrag* drag = new QDrag(this); drag->setMimeData(mime); - drag->setPixmap(QString::fromUtf8(mime->getIcon().c_str())); + drag->setPixmap(QIcon(mime->getIcon().c_str()).pixmap(QSize(16, 16))); drag->exec(Qt::CopyAction); } diff --git a/apps/wizard/CMakeLists.txt b/apps/wizard/CMakeLists.txt index 3a17210cd3..444290f3a6 100644 --- a/apps/wizard/CMakeLists.txt +++ b/apps/wizard/CMakeLists.txt @@ -85,7 +85,7 @@ target_link_libraries(openmw-wizard components_qt ) -target_link_libraries(openmw-wizard Qt::Widgets Qt::Core) +target_link_libraries(openmw-wizard Qt::Widgets Qt::Core Qt::Svg) if (OPENMW_USE_UNSHIELD) target_link_libraries(openmw-wizard ${LIBUNSHIELD_LIBRARIES}) diff --git a/components/contentselector/view/contentselector.cpp b/components/contentselector/view/contentselector.cpp index a3fd224390..ab12f45fd7 100644 --- a/components/contentselector/view/contentselector.cpp +++ b/components/contentselector/view/contentselector.cpp @@ -31,7 +31,7 @@ ContentSelectorView::ContentSelector::~ContentSelector() = default; void ContentSelectorView::ContentSelector::buildContentModel(bool showOMWScripts) { - QIcon warningIcon(ui->addonView->style()->standardIcon(QStyle::SP_MessageBoxWarning).pixmap(QSize(16, 15))); + QIcon warningIcon(ui->addonView->style()->standardIcon(QStyle::SP_MessageBoxWarning)); mContentModel = new ContentSelectorModel::ContentModel(this, warningIcon, showOMWScripts); } diff --git a/files/opencs/configure.svg b/files/opencs/configure.svg new file mode 100644 index 0000000000..91a5efca5c --- /dev/null +++ b/files/opencs/configure.svg @@ -0,0 +1,501 @@ + + + +image/svg+xml diff --git a/files/opencs/scalable/editor-icons.svg b/files/opencs/editor-icons.svg similarity index 100% rename from files/opencs/scalable/editor-icons.svg rename to files/opencs/editor-icons.svg diff --git a/files/opencs/menu-reload.svg b/files/opencs/menu-reload.svg index aef27dd104..32cefa7548 100644 --- a/files/opencs/menu-reload.svg +++ b/files/opencs/menu-reload.svg @@ -89,23 +89,82 @@ x2="76.100182" y2="249" gradientUnits="userSpaceOnUse" /> + + + + + + + + + + - + d="m 52.8211,61.122306 -2.004035,-0.0036 0.217103,-0.201119 c 0.158097,-0.150209 -0.07905,-0.375524 -0.237144,-0.225315 l -0.50101,0.476016 c -0.06587,0.06207 -0.06587,0.163247 0,0.225315 l 0.50101,0.476016 c 0.06533,0.06258 0.171817,0.06258 0.237144,0 0.06587,-0.06207 0.06585,-0.163246 -1.8e-5,-0.225315 L 50.817065,61.383321 H 52.8211 c 0.143894,-0.0027 0.357404,0.162378 0.360144,0.299094 v 0.391921 c 0,0.211563 0.264583,0.211563 0.264583,0 v -0.391921 c -0.0028,-0.311974 -0.296373,-0.566316 -0.624727,-0.563677 z m 0.07432,1.891352 c -0.158096,-0.149435 -0.394425,0.07511 -0.237143,0.225315 l 0.2171,0.261015 h -2.004033 c -0.143895,0.0027 -0.333193,-0.162379 -0.335933,-0.299097 v -0.39192 c -5.38e-4,-0.21105 -0.264046,-0.21105 -0.264584,0 v 0.39192 c 0.0028,0.311975 0.272162,0.56632 0.600517,0.56368 h 2.004035 l -0.217101,0.20112 c -0.06587,0.06207 -0.06587,0.163245 0,0.225314 0.06533,0.06258 0.171816,0.06258 0.237144,0 l 0.501007,-0.476016 c 0.06587,-0.06207 0.06587,-0.163245 0,-0.225314 z" + id="path1" + style="display:inline;overflow:hidden;fill:#4d4d4d;fill-opacity:1;stroke-width:0.00381524" /> diff --git a/files/opencs/object.svg b/files/opencs/object.svg index 717269b9d6..8f9261fd18 100644 --- a/files/opencs/object.svg +++ b/files/opencs/object.svg @@ -108,11 +108,11 @@ style="display:inline" transform="matrix(3.7795278,0,0,3.77117,-148,-187.58427)"> + cy="51.863018" + rx="1.7196451" + ry="1.7237496" /> diff --git a/files/opencs/raster/startup/big/configure.png b/files/opencs/raster/startup/big/configure.png deleted file mode 100644 index f0be888a15532311418c82714d7cb56dd5620a09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17972 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 diff --git a/files/opencs/raster/startup/small/configure.png b/files/opencs/raster/startup/small/configure.png deleted file mode 100644 index e91b7f773150e81f0276b058be4a90fafc54419e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1450 zcmV;b1y%ZqP)FK~z|Uy_IiF6L%QLzvZq4dUuVvU|q`uvgu5aKjIrh!V43V zfg$KtdabC?fF^BbmSC0u$&&5GVzzfvw*-dU8cjMgXdr?NWr~>0#Ka06p+LoAxvL5X zY@MY?DJ{1b6EjqtNZBvBH<#ymKA+$7d-D4!WLd^WEUVR8q);eq48!cEX*z?ZX&=k7 z)z#J2{r`?56AiZ6Y};j7{)%BVhOL>IpePFSQW)uaeY?S6=zl(5k;o3%Y_^h=l$4I0 zIl0QLceXFX7!a^_%1DdAs z2!V`3We+mIRcht3$nAbX|-AnlKiJ6K@gB6sT{y}&&T)m^?m(#a`PlC6?jOAO?$xR(8j>XO3F$y;YN}^y zY6{V46rw0XtJNYmHy3KPdUI1#lSon2XR%nUOQljZ&&|!1=+ZO5^L|K@)SnOmk|cey zEHA|4@#NXrSpa}mtHri$+dz`!=Brn)Hpb&|P!t7S`c|Z>DLi@@z{0{pQ$hqh9?!=` zMMcRzpAUMy9#d0O&m^+4vT*e1Q3QiQghC;NLLqoYMlmglZRgIN`)%ClQ9ux+KP8v4c%bO=G}1ZbFmEbgZGFp-~V71wjzl zwQCm`hQa;&_i_97ZIC1xB}r1H*X!Z)`7k~{9+4!eOQ}?T)Y#Z4KI_Vxyai^n*-}?m z_oE;PNy~7pR*Q*=2{@fjxZUnrj^n=ddcE(3!{NO7`T2)SOG|goo;|zpLNQsE*Yp{U z#v?A5E8gDTE_ZZv$UM)>kw`@LdcE?gQ>T_pCew+v)LRpr<2bX+<%+EaHyVxBwQlIO z1FNd4%r2K}aTR!+F zD+EeQOG}E2i=C5`lPOB25;-|JU|AMC&!elWYr*UFn(cObTO#4W)5mDvzJ2ePl$5k7 zmC6_3Jv}`Oe!ri)aN$B{qTv8Q^!4=>?%lihbaHaCU8B)V>vXzzbvhjx2n5jG-5nVp zALkqn$K{QH0|1$ypZ}#sqp3f6@?;MH+`M_S^~Q}G#*vYch$xEXPN(yije-L}QZyRf zt=H>)%Rk1(#s=@+y*tnI{0AEi2LN)%jvaSGq0p7<*RK~pc<>;jx3~9zD2fNKUAy+{ zM#BMsOixe$WOQ`&``+H(p_!SPVNn!6b-UgF3mgFc25+Q-YLBZS&;S4c07*qoM6N<$ Ef(F#BDF6Tf diff --git a/files/opencs/raster/startup/small/create-addon.png b/files/opencs/raster/startup/small/create-addon.png deleted file mode 100644 index 64fd138be55a6d2c73bff277da82b8f72996d707..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1714 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 diff --git a/files/opencs/raster/startup/small/new-game.png b/files/opencs/raster/startup/small/new-game.png deleted file mode 100644 index 0d7d14c5580ef04b7b9fb4c31cc29bddfc42f683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2122 zcmV-Q2(|Z#P)6z)7^~}yb?2R{e6en?F=Rr_n zDUp@H0XRSoIVBvzi4%ew5{eLEbpj!T@WA)J`BJm7XQ5-G zqT`II@Az_VVLGV~-amci+dnz+2k!EwV)FjyUU>GU)$quw!C`y;LKop zX8){rOjj%O6J7vqVUYLF@2;x|xWgmyfF@*vTZ3hfDR~Z)$38cAVyLXjSCol5$)jqGh_z2!R zTG}xbim@#b9^y!{nK_!xsV@L`1dulm0;P^m3dXsmjv)#H8Wn|(A_}Rve07`EUdm{5 zhjUjpJ^@n^VGv?uKv0QD>LCkBKyK{*yDg!-btDIqf>BnI%rqHV!AMk?t4Vw|=EVCS z^VnjOm%sQZm#+2s`?UeOvzMvqy@XQn$#+I9HZ)D`^&4M%?*3f? zN@J2qfzJ!7QNUbPvc5UQTFYCfuhZ|2IeWFosmq&qV;HPl=4U5A#v_R1h^b~wEMciv zkQ>i-F??cI0PkIIQqavxhSqT-^UPEfxe;96*ujLF^?{)`8nd*rMQ2Zi?u|YxTYaKd zjnX(aN0!o+q)IW}NNRTixTOjdbSDL-uxRH%1@!6(=g)jdzn2mSfwLu_KQzP1i<{H~ z!ScxSn?If>)D;?4OHxUwlY&87Qc)lX%zGbVZHWv5zW)6E zT(~~KIZwM;r5*^brGj^tx|q^3kP+)fl3It!%!9iF`0~=EAT2DJhdi}hx;Eg0t%7zS zcyuP_mw*0%Yd40x^5P*5OxJk+ky!+u)9+v5AD3>>Xht;l)M-VYq*B=(ptSDXq`)~( zS~ygodF#w7DhwIL3CEu~#L*-BxzS5mTj|o8PMF`9JBf-s$Ji2IuM^0SB=Y?JuNTON8S^#4&)>d^R?E~Xn$&?;8rew5q{iBu zEYjfpo?RVy^WBTLEdju0HzSEcI)THDN35^+IkVj7@>aq15uh}smjvF?juk>F7TY1c z{+O!p7$;Cs6ukcGQ@8Di6J_YVz~lX`&033>l9#`9jDww+y@{q;39!yFGgBi-s-Pr= zEdhuFIMS(+Xs|&@b-IBoJ*)lf@p}S%0^xAZeHt8KZRBWm=80{OxoSXJl#GWtk@ReA zjtKLVipl92LDzuBGvA8IgvM&g&PESW6Er z4P+2;_|XHjrecytg`Dw@#czD@nDYun2zr&N9Yp?%&%&g#ki<6OwdP zkc~5(6u0e$x931<{bUXlMTrm+SqX3^M=Q+>kIi#&BjYcpmZ?S|VXeZBbsSu5k+ka+ zBESRz9!2Rv2Aa(H#mRWL{SylBjrU&PoCCwmP*}rgW1B*P^`8B6O%B{QW@~$gPAeg< z#>ArJfmVg?MjxD`=o?BQDML-I7LX6i*6vGyFK%|gd(SwxBue14W>88Rp~OkaGY6a0 zv_LqE9}N*oQH?{&!lKHOpb}6C1hKR9w#GP!zV+o}v-bp$UgS3i2gnP{w((T7Vk!yQ zN=r=XNaBcx7N-d%*i!K1107-|2ttho3NINMM~OrV&=PED_TLl03%@g2hNbhQqntd; zSnCc6B;X+kB>QF((lnn;7z6@OvadrZ1x^Tbs7abtv=pe)KX7jcU^rQZ07DB# zfD{5D9M)L8aYRyZU#rf^iyMTIrWyx`W|Pu+GHVH<3h~S|#tE|0*{QP{{9RL6T07*qoM6N<$f_W47 ATL1t6 diff --git a/files/opencs/record-edit.svg b/files/opencs/record-edit.svg index 2db10e9c78..5e7a058782 100644 --- a/files/opencs/record-edit.svg +++ b/files/opencs/record-edit.svg @@ -116,7 +116,7 @@ gradientTransform="matrix(0.2267857,0,0,0.24804718,6.7279833,5.1097051)" /> + + id="rect2091" + style="font-variation-settings:normal;display:inline;vector-effect:none;fill:url(#linearGradient2178);fill-opacity:1;stroke:none;stroke-width:0.89642px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;stop-color:#000000" + d="M 2,1 V 16.000002 H 13.999997 V 1 Z M 2.8571402,1.9374994 H 13.142856 V 15.062503 H 2.8571402 Z" + transform="matrix(0.26458331,0,0,0.26458402,33.866672,49.74166)" /> + cx="37.306255" + cy="51.329163" + rx="0.79374993" + ry="0.79375207" /> diff --git a/files/opencs/resources.qrc b/files/opencs/resources.qrc index 786040623c..3b5a17c730 100644 --- a/files/opencs/resources.qrc +++ b/files/opencs/resources.qrc @@ -102,7 +102,7 @@ raster/startup/big/create-addon.png raster/startup/big/new-game.png raster/startup/big/edit-content.png - raster/startup/small/configure.png + configure.svg lighting-moon.svg diff --git a/files/opencs/run-log.svg b/files/opencs/run-log.svg index 404f74a6d4..96e0d037b7 100644 --- a/files/opencs/run-log.svg +++ b/files/opencs/run-log.svg @@ -67,14 +67,13 @@ gradientTransform="matrix(0.26458338,0,0,0.26459185,23.018732,7.1420691)" /> + d="m 57.904031,57.222619 -1.429163,0.842578 a 0.07915963,0.08113535 0 0 1 -0.118629,-0.07046 l 0.0027,-1.689872 a 0.07915963,0.08113535 0 0 1 0.11885,-0.07007 l 1.426507,0.847294 a 0.07915963,0.08113535 0 0 1 -2.21e-4,0.140531 z" /> *|a)pj_d96d3%yXVb; zAf;lAKmn+v^4HH==Kz@rDL^u9m!n67U9j_9_jT=a$=82|MX&hbAKw;#d%T;?m&Jcg?r-|vO^Y%S|B?H=C|oH-@zwo!GAgVz zCcG+&e*ev9pS@muxcRIo3Jh?%xR@?3&)zSWcNgd9(?vO8f8}s?d;Y`VL-oyU{?F>_ z9D_eUt80vgn;Lib^GP|I-<*$z=hdXTt)|Nbipys4VO@MUuLjHUhYIcA&d?icP8Xjy z3eQK^o6-*t59NbSg=CEJT&Q!U`Y6#~e4H)^kNtL4%&M!Z5<;BgSzYqDQWuYt@${D` z2a}#QdxvE2@ZYAwnourg_w!+Ojha}Q!M5987DJqoChe!j29H}99}H#9}aO#Lvf z9=@7AUY?0U6jH_#vxU+@=Ui@OhMuk`vxm#G597u7YLdIJrUQKKUk!%8+{|b9Q*=J9 z9*UE|X{&dz_rL>A|x z!H4na{B5=PWjVV$uSakqQ0q5)B&rVg>Y|&x-RG^&vX?kllUQ)W>;yc5hzu%V4s@ zhc(a9^Q0Q0)xqRp@NuzeI@$ci`*{T)^?3)!nhb4sp|y6K$2TkDPt)-d&gdRW^8-!c z?^Ec{PN^T~gXsd^30Xlr{AlWi`rLt-Y?Pon`0EX35$oH0oKL{GadNefRcfDStkDS|ekVzrUG*rBqf} z;mJg0tkF7uGeO9nTzyl$KKW`r{9~^V)AJ$(uWKeh%F8o@(jmaRZKxkX4QNeBC+Z?IwOJ{6N`v{tIrM2Fp(g zx_QD%ySdRJ)+N7A2FvP;zAl9VLxZgPs)rxeS%L57)gIllFr8=W7DexUX${<%Y>6HU z5nOOCv_u~Q6e4KvTEf?|)Iuv|cVyWmmk!2j#m^r3u9=J}h7MV7x+%T&8d@Co_jgdx zb$?zwN2qOX9N=6xmpdhLoHRM=l@oG5@ADr=DcUxZ*F1^p`OJO7Sa&74?nDar0uhz~ ze-XaTbaq!O$1^1Qq7V@Fg@6>!PZa_%DdCN?uGg=>rf=Y2XngC-Pe5sbE`gwvMhPr}r_8J-lXfm1mT>yRNxwUwsA zUAI?TyvoJ4&_S!*ei{AV)3irS69M_CX|~G!uG2hVBC4?j|Nka(D&0}fP1;YSVZUbz z$Z4JqWdB>_fO}Ub$j?7w74lEIJh6A#jJ*6K)+dhP`nG)nwCEbAWP=(D$y zPK32iJk7oPDxBsg86rN#jg^C(JmE198kZH`rsE#z7f)&Rz!jK6^cn!pN)JTkKYhL( zG_>csu76Qd)1}Y=!pa0{@%mf8i)d`Aq!R?sq7*>~sbBrxY&5$odcVz(53l=4>EwFh z4*}p$;PelH5_39$_mmCybqQQ`%MS z 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 diff --git a/files/opencs/sound.svg b/files/opencs/sound.svg index f482c9cd70..ead929c862 100644 --- a/files/opencs/sound.svg +++ b/files/opencs/sound.svg @@ -120,7 +120,8 @@ x1="17.991667" y1="30.691668" x2="21.960417" - y2="30.691668" /> + y2="30.691668" + gradientTransform="matrix(1.5999994,0,0,1,-10.794989,8.2675378e-8)" /> + gradientTransform="matrix(1.5,0,0,1.6,6.0324979,-18.415001)" /> + style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:url(#linearGradient3131);fill-opacity:1;stroke:none;stroke-width:0.334674px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" + d="m 18.838333,28.575001 v 4.233334 h 0.423332 v -4.233334 z m 0.846662,0.846667 v 2.540001 h 0.423336 v -2.540001 z m 1.693335,0 v 2.540001 h 0.423334 v -2.540001 z m -3.386665,0.423334 v 1.693333 h 0.423333 v -1.693333 z m 2.539997,0 v 1.693333 h 0.423335 v -1.693333 z m 1.693334,0 v 1.693333 h 0.423336 v -1.693333 z" /> + style="font-variation-settings:normal;display:inline;vector-effect:none;fill:url(#linearGradient2264);fill-opacity:1;stroke:none;stroke-width:0.40989px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" + d="m 17.144998,27.305001 v 6.773334 h 6.35 v -6.773334 z m 0.396874,0.423334 h 5.55625 v 5.926666 h -5.55625 z" />