Skip to content

Commit

Permalink
Bug fixes and added Turkish translation
Browse files Browse the repository at this point in the history
* Fixed a bug that was preventing to re-enable a previously disabled plugin/patcher.
* Added Turkish translation (thanks to Fuat, also known as K8).
* Minor styles and languages adjustments.
* Added missing copyright notices in base64.h.
* Bumped version number.
  • Loading branch information
K07H committed Mar 18, 2023
1 parent 42a4df3 commit 039b8a1
Show file tree
Hide file tree
Showing 24 changed files with 2,652 additions and 462 deletions.
4 changes: 4 additions & 0 deletions Makefile_Unix_x86_64/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,9 @@ compiler_rcc_clean:
-$(DEL_FILE) qrc_yumiresources.cpp
qrc_yumiresources.cpp: ../YUMI/yumiresources.qrc \
../Qt/5.12.12/gcc_64/bin/rcc \
../YUMI/YUMI_Lang_tr.qm \
../YUMI/FULL_LICENSE.txt \
../YUMI/qtbase_tr.qm \
../YUMI/YUMI_Lang_fr.qm \
../YUMI/qtbase_fr.qm \
../YUMI/images/win/book.png \
Expand All @@ -390,6 +392,7 @@ qrc_yumiresources.cpp: ../YUMI/yumiresources.qrc \
../YUMI/images/win/filesave.png \
../YUMI/images/win/settings.png \
../YUMI/images/win/checkbox_unchecked_hover.png \
../YUMI/images/win/flag_tr.png \
../YUMI/images/win/checkbox_indeterminated_pressed.png \
../YUMI/images/win/yumilogo_transparent.png \
../YUMI/images/win/fileopen.png \
Expand All @@ -415,6 +418,7 @@ qrc_yumiresources.cpp: ../YUMI/yumiresources.qrc \
../YUMI/images/mac/filesave.png \
../YUMI/images/mac/settings.png \
../YUMI/images/mac/checkbox_unchecked_hover.png \
../YUMI/images/mac/flag_tr.png \
../YUMI/images/mac/checkbox_indeterminated_pressed.png \
../YUMI/images/mac/yumilogo_transparent.png \
../YUMI/images/mac/fileopen.png \
Expand Down
4 changes: 4 additions & 0 deletions Makefile_Win_x86_64/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,9 @@ compiler_rcc_clean:
-$(DEL_FILE) release\qrc_yumiresources.cpp
release\qrc_yumiresources.cpp: ..\YUMI\yumiresources.qrc \
..\..\Qt\5.15.2\msvc2019_64\bin\rcc.exe \
..\YUMI\YUMI_Lang_tr.qm \
..\YUMI\FULL_LICENSE.txt \
..\YUMI\qtbase_tr.qm \
..\YUMI\YUMI_Lang_fr.qm \
..\YUMI\qtbase_fr.qm \
..\YUMI\images\win\book.png \
Expand All @@ -350,6 +352,7 @@ release\qrc_yumiresources.cpp: ..\YUMI\yumiresources.qrc \
..\YUMI\images\win\filesave.png \
..\YUMI\images\win\settings.png \
..\YUMI\images\win\checkbox_unchecked_hover.png \
..\YUMI\images\win\flag_tr.png \
..\YUMI\images\win\checkbox_indeterminated_pressed.png \
..\YUMI\images\win\yumilogo_transparent.png \
..\YUMI\images\win\fileopen.png \
Expand All @@ -375,6 +378,7 @@ release\qrc_yumiresources.cpp: ..\YUMI\yumiresources.qrc \
..\YUMI\images\mac\filesave.png \
..\YUMI\images\mac\settings.png \
..\YUMI\images\mac\checkbox_unchecked_hover.png \
..\YUMI\images\mac\flag_tr.png \
..\YUMI\images\mac\checkbox_indeterminated_pressed.png \
..\YUMI\images\mac\yumilogo_transparent.png \
..\YUMI\images\mac\fileopen.png \
Expand Down
Binary file modified YUMI/YUMI_Lang_fr.qm
Binary file not shown.
338 changes: 187 additions & 151 deletions YUMI/YUMI_Lang_fr.ts

Large diffs are not rendered by default.

Binary file added YUMI/YUMI_Lang_tr.qm
Binary file not shown.
2,131 changes: 2,131 additions & 0 deletions YUMI/YUMI_Lang_tr.ts

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions YUMI/assets.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1213,8 +1213,9 @@ void Assets::updateStyles()
MAIN_BUTTON_STYLE_PRESSED = QString("background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 " + ALT_PRIMARY_COLOR_LIGHT_HEX + ", stop: 1 " + ALT_PRIMARY_COLOR_HEX + ");");

SECONDARY_BUTTON_STYLE = QString("min-height: 25px; padding-left: 5px; padding-right: 5px; font-size: " + SM_FONT_SIZE_PX + "px; color: " + LIGHT_TEXT_COLOR_HEX + "; font-family: \"" + PRIMARY_FONT_FAMILY + "\", sans-serif; border: 1px solid " + SECONDARY_COLOR_HEX + "; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 " + SECONDARY_COLOR_LIGHTER_HEX + ", stop: 1 " + SECONDARY_COLOR_HEX + ");");
SECONDARY_BUTTON_STYLE_DISABLED = QString("min-height: 25px; padding-left: 5px; padding-right: 5px; font-size: " + SM_FONT_SIZE_PX + "px; color: " + LIGHT_TEXT_COLOR_HEX + "; font-family: \"" + PRIMARY_FONT_FAMILY + "\", sans-serif; border: 1px solid " + SECONDARY_COLOR_HEX + "; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 " + NEUTRAL_COLOR_LIGHTER_HEX + ", stop: 1 " + NEUTRAL_COLOR_HEX + ");");
SECONDARY_BUTTON_STYLE_DISABLED = QString("min-height: 25px; padding-left: 5px; padding-right: 5px; font-size: " + SM_FONT_SIZE_PX + "px; color: " + LIGHT_TEXT_COLOR_HEX + "; font-family: \"" + PRIMARY_FONT_FAMILY + "\", sans-serif; border: 1px solid " + SECONDARY_COLOR_HEX + "; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 " + NEUTRAL_COLOR_LIGHT_HEX + ", stop: 1 " + NEUTRAL_COLOR_HEX + ");");
SECONDARY_BUTTON_STYLE_SELECTED = QString("min-height: 30px; padding-left: 5px; padding-right: 5px; font-size: " + SM_FONT_SIZE_PX + "px; font-weight: 500; color: " + LIGHT_TEXT_COLOR_HEX + "; font-family: \"" + PRIMARY_FONT_FAMILY + "\", sans-serif; border: 3px solid " + SECONDARY_COLOR_HEX + "; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 " + ALT_PRIMARY_COLOR_HEX + ", stop: 1 " + ALT_PRIMARY_COLOR_DEEP_HEX + ");");
SECONDARY_BUTTON_STYLE_DISABLED_SELECTED = QString("min-height: 30px; padding-left: 5px; padding-right: 5px; font-size: " + SM_FONT_SIZE_PX + "px; font-weight: 500; color: " + LIGHT_TEXT_COLOR_HEX + "; font-family: \"" + PRIMARY_FONT_FAMILY + "\", sans-serif; border: 3px solid " + SECONDARY_COLOR_HEX + "; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 " + NEUTRAL_COLOR_LIGHTER_HEX + ", stop: 1 " + NEUTRAL_COLOR_HEX + ");");
SECONDARY_BUTTON_STYLE_HOVER = QString("background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 " + ALT_SECONDARY_COLOR_LIGHT_HEX + ", stop: 1 " + ALT_SECONDARY_COLOR_HEX + ");");
SECONDARY_BUTTON_STYLE_SELECTED_HOVER = QString("background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 " + ALT_PRIMARY_COLOR_HEX + ", stop: 1 " + ALT_PRIMARY_COLOR_DEEP_HEX + ");");
SECONDARY_BUTTON_STYLE_PRESSED = QString("background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 " + ALT_PRIMARY_COLOR_LIGHT_HEX + ", stop: 1 " + ALT_PRIMARY_COLOR_HEX + ");");
Expand Down Expand Up @@ -1249,7 +1250,7 @@ void Assets::updateStyles()
"QPushButton:flat { " + SECONDARY_BUTTON_STYLE_FLAT + " } "
"QPushButton:default { " + SECONDARY_BUTTON_STYLE_DEFAULT + " }";

secondaryBtnStyleSelectedDisabled = "QPushButton { " + SECONDARY_BUTTON_STYLE_DISABLED + " } "
secondaryBtnStyleSelectedDisabled = "QPushButton { " + SECONDARY_BUTTON_STYLE_DISABLED_SELECTED + " } "
"QPushButton:hover { " + SECONDARY_BUTTON_STYLE_SELECTED_HOVER + " } "
"QPushButton:pressed { " + SECONDARY_BUTTON_STYLE_PRESSED + " } "
"QPushButton:flat { " + SECONDARY_BUTTON_STYLE_FLAT + " } "
Expand Down
9 changes: 7 additions & 2 deletions YUMI/assets.h
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,14 @@ class Assets : public QObject

const QIcon englishFlagIcon = QIcon(imgRsrcPath + "/flag_en.png");
const QIcon frenchFlagIcon = QIcon(imgRsrcPath + "/flag_fr.png");
const QIcon turkishFlagIcon = QIcon(imgRsrcPath + "/flag_tr.png");

const QString frenchTranslation = QString(":/yumiresources/YUMI_Lang_fr.qm");
const QString frenchBaseTranslation = QString(":/yumiresources/qtbase_fr.qm");

const QString turkishTranslation = QString(":/yumiresources/YUMI_Lang_tr.qm");
const QString turkishBaseTranslation = QString(":/yumiresources/qtbase_tr.qm");

QString PRIMARY_FONT_FAMILY = Assets::primaryFontFamily;
QString SECONDARY_FONT_FAMILY = QString("Courier New");

Expand Down Expand Up @@ -220,8 +224,9 @@ class Assets : public QObject
const QString MAIN_BUTTON_STYLE_DEFAULT = QString("border-color: navy;");

QString SECONDARY_BUTTON_STYLE = QString("min-height: 25px; padding-left: 5px; padding-right: 5px; font-size: " + SM_FONT_SIZE_PX + "px; color: " + LIGHT_TEXT_COLOR_HEX + "; font-family: \"" + PRIMARY_FONT_FAMILY + "\", sans-serif; border: 1px solid " + SECONDARY_COLOR_HEX + "; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 " + SECONDARY_COLOR_LIGHTER_HEX + ", stop: 1 " + SECONDARY_COLOR_HEX + ");");
QString SECONDARY_BUTTON_STYLE_DISABLED = QString("min-height: 25px; padding-left: 5px; padding-right: 5px; font-size: " + SM_FONT_SIZE_PX + "px; color: " + LIGHT_TEXT_COLOR_HEX + "; font-family: \"" + PRIMARY_FONT_FAMILY + "\", sans-serif; border: 1px solid " + SECONDARY_COLOR_HEX + "; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 " + NEUTRAL_COLOR_LIGHTER_HEX + ", stop: 1 " + NEUTRAL_COLOR_HEX + ");");
QString SECONDARY_BUTTON_STYLE_DISABLED = QString("min-height: 25px; padding-left: 5px; padding-right: 5px; font-size: " + SM_FONT_SIZE_PX + "px; color: " + LIGHT_TEXT_COLOR_HEX + "; font-family: \"" + PRIMARY_FONT_FAMILY + "\", sans-serif; border: 1px solid " + SECONDARY_COLOR_HEX + "; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 " + NEUTRAL_COLOR_LIGHT_HEX + ", stop: 1 " + NEUTRAL_COLOR_HEX + ");");
QString SECONDARY_BUTTON_STYLE_SELECTED = QString("min-height: 30px; padding-left: 5px; padding-right: 5px; font-size: " + SM_FONT_SIZE_PX + "px; font-weight: 500; color: " + LIGHT_TEXT_COLOR_HEX + "; font-family: \"" + PRIMARY_FONT_FAMILY + "\", sans-serif; border: 3px solid " + SECONDARY_COLOR_HEX + "; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 " + ALT_PRIMARY_COLOR_HEX + ", stop: 1 " + ALT_PRIMARY_COLOR_DEEP_HEX + ");");
QString SECONDARY_BUTTON_STYLE_DISABLED_SELECTED = QString("min-height: 30px; padding-left: 5px; padding-right: 5px; font-size: " + SM_FONT_SIZE_PX + "px; font-weight: 500; color: " + LIGHT_TEXT_COLOR_HEX + "; font-family: \"" + PRIMARY_FONT_FAMILY + "\", sans-serif; border: 3px solid " + SECONDARY_COLOR_HEX + "; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 " + NEUTRAL_COLOR_LIGHTER_HEX + ", stop: 1 " + NEUTRAL_COLOR_HEX + ");");
QString SECONDARY_BUTTON_STYLE_HOVER = QString("background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 " + ALT_SECONDARY_COLOR_LIGHT_HEX + ", stop: 1 " + ALT_SECONDARY_COLOR_HEX + ");");
QString SECONDARY_BUTTON_STYLE_SELECTED_HOVER = QString("background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 " + ALT_PRIMARY_COLOR_HEX + ", stop: 1 " + ALT_PRIMARY_COLOR_DEEP_HEX + ");");
QString SECONDARY_BUTTON_STYLE_PRESSED = QString("background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 " + ALT_PRIMARY_COLOR_LIGHT_HEX + ", stop: 1 " + ALT_PRIMARY_COLOR_HEX + ");");
Expand Down Expand Up @@ -258,7 +263,7 @@ class Assets : public QObject
"QPushButton:flat { " + SECONDARY_BUTTON_STYLE_FLAT + " } "
"QPushButton:default { " + SECONDARY_BUTTON_STYLE_DEFAULT + " }";

QString secondaryBtnStyleSelectedDisabled = "QPushButton { " + SECONDARY_BUTTON_STYLE_DISABLED + " } "
QString secondaryBtnStyleSelectedDisabled = "QPushButton { " + SECONDARY_BUTTON_STYLE_DISABLED_SELECTED + " } "
"QPushButton:hover { " + SECONDARY_BUTTON_STYLE_SELECTED_HOVER + " } "
"QPushButton:pressed { " + SECONDARY_BUTTON_STYLE_PRESSED + " } "
"QPushButton:flat { " + SECONDARY_BUTTON_STYLE_FLAT + " } "
Expand Down
6 changes: 3 additions & 3 deletions YUMI/base64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -128,17 +128,17 @@ const signed char* Base64::b64GetInverse()
return &tab[0];
}

const std::size_t Base64::encodedSize(std::size_t n)
std::size_t Base64::encodedSize(const std::size_t n)
{
return 4 * ((n + 2) / 3);
}

const std::size_t Base64::decodedSize(std::size_t n)
std::size_t Base64::decodedSize(const std::size_t n)
{
return n / 4 * 3;
}

std::size_t Base64::b64Encode(void* dest, const void* src, std::size_t len)
std::size_t Base64::b64Encode(void* dest, const void* src, const std::size_t len)
{
char* out = static_cast<char*>(dest);
const char* in = static_cast<const char*>(src);
Expand Down
30 changes: 27 additions & 3 deletions YUMI/base64.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,30 @@
** Franklin Street, Fifth Floor, Boston, MA 02110 USA.
*/

/* Copyright (c) 2016-2019 Vinnie Falco (vinnie dot falco at gmail dot com)
* Distributed under the Boost Software License, Version 1.0. (See accompanying
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
* Official repository: https://github.com/boostorg/beast */

/* Portions from http://www.adp-gmbh.ch/cpp/common/base64.html
* Copyright notice:
* base64.cpp and base64.h
* Copyright (C) 2004-2008 Rene Nyffenegger
* This source code is provided 'as-is', without any express or implied
* warranty. In no event will the author be held liable for any damages
* arising from the use of this software.
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
* 1. The origin of this source code must not be misrepresented; you must not
* claim that you wrote the original source code. If you use this source code
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original source code.
* 3. This notice may not be removed or altered from any source distribution.
* Rene Nyffenegger rene.nyffenegger@adp-gmbh.ch */

#ifndef __BASE64_H__
#define __BASE64_H__

Expand All @@ -89,9 +113,9 @@ class Base64
static const signed char* b64GetInverse();

public:
static const std::size_t encodedSize(std::size_t n);
static const std::size_t decodedSize(std::size_t n);
static std::size_t b64Encode(void* dest, const void* src, std::size_t len);
static std::size_t encodedSize(const std::size_t n);
static std::size_t decodedSize(const std::size_t n);
static std::size_t b64Encode(void* dest, const void* src, const std::size_t len);
static std::pair<std::size_t, std::size_t> b64Decode(void* dest, const char* src, std::size_t len);
};

Expand Down
2 changes: 1 addition & 1 deletion YUMI/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
#define QT_NO_SSL
#endif

#define APP_VERSION "1.0.3"
#define APP_VERSION "1.0.4"
#if IS_DEVELOPMENT
#define YUMI_BEPINEX_VERSION_CHECK_URL "http://osubmarin.fr/yumi/latest_bepinex_version_dev.php"
#define YUMI_VERSION_CHECK_URL "http://osubmarin.fr/yumi/latest_version_dev.php"
Expand Down
69 changes: 60 additions & 9 deletions YUMI/config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ Config* Config::_instance = NULL;
QTranslator* Config::_frenchTranslator = NULL;
QTranslator* Config::_frenchBaseTranslator = NULL;
bool Config::_isFrenchTranslatorInstalled = false;
QTranslator* Config::_turkishTranslator = NULL;
QTranslator* Config::_turkishBaseTranslator = NULL;
bool Config::_isTurkishTranslatorInstalled = false;

Config::Config(void* yumiPtr)
{
Expand Down Expand Up @@ -221,13 +224,30 @@ bool Config::SwapLanguage(const QString& lang, QApplication* app)
if (_frenchTranslator != NULL)
app->removeTranslator(_frenchTranslator);
}
if (_isTurkishTranslatorInstalled && app != NULL)
{
if (_turkishBaseTranslator != NULL)
app->removeTranslator(_turkishBaseTranslator);
if (_turkishTranslator != NULL)
app->removeTranslator(_turkishTranslator);
}
_isFrenchTranslatorInstalled = false;
_isTurkishTranslatorInstalled = false;
return true;
}
else if (lang.compare("Français") == 0)
{
if (!_isFrenchTranslatorInstalled)
{
if (_isTurkishTranslatorInstalled && app != NULL)
{
if (_turkishBaseTranslator != NULL)
app->removeTranslator(_turkishBaseTranslator);
if (_turkishTranslator != NULL)
app->removeTranslator(_turkishTranslator);
}
_isTurkishTranslatorInstalled = false;

if (_frenchTranslator == NULL)
{
_frenchTranslator = new QTranslator();
Expand All @@ -246,6 +266,37 @@ bool Config::SwapLanguage(const QString& lang, QApplication* app)
_isFrenchTranslatorInstalled = true;
return true;
}
else if (lang.compare("Türk") == 0)
{
if (!_isTurkishTranslatorInstalled)
{
if (_isFrenchTranslatorInstalled && app != NULL)
{
if (_frenchBaseTranslator != NULL)
app->removeTranslator(_frenchBaseTranslator);
if (_frenchTranslator != NULL)
app->removeTranslator(_frenchTranslator);
}
_isFrenchTranslatorInstalled = false;

if (_turkishTranslator == NULL)
{
_turkishTranslator = new QTranslator();
_turkishTranslator->load(Assets::Instance()->turkishTranslation);
}
if (_turkishBaseTranslator == NULL)
{
_turkishBaseTranslator = new QTranslator();
_turkishBaseTranslator->load(Assets::Instance()->turkishBaseTranslation);
}
if (_turkishTranslator != NULL && app != NULL)
app->installTranslator(_turkishTranslator);
if (_turkishBaseTranslator != NULL && app != NULL)
app->installTranslator(_turkishBaseTranslator);
}
_isTurkishTranslatorInstalled = true;
return true;
}
return false;
}

Expand Down Expand Up @@ -337,7 +388,7 @@ int Config::loadConfig()
if (trimmedLineLen > languageDelimiterLen && trimmedLine.startsWith(languageDelimiter))
{
QString lineVal(trimmedLine.mid(languageDelimiterLen));
if (!lineVal.isEmpty() && (lineVal.compare("English", Qt::CaseInsensitive) == 0 || lineVal.compare("Français", Qt::CaseInsensitive) == 0))
if (!lineVal.isEmpty() && (lineVal.compare("English", Qt::CaseInsensitive) == 0 || lineVal.compare("Français", Qt::CaseInsensitive) == 0 || lineVal.compare("Türk", Qt::CaseInsensitive) == 0))
language = lineVal;
}
if (trimmedLineLen > themeDelimiterLen && trimmedLine.startsWith(themeDelimiter))
Expand Down Expand Up @@ -435,17 +486,17 @@ bool Config::saveConfig()

int nbGames = ((yumi*)_yumiPtr)->gamesInfo.count();
if (nbGames <= 0)
{
qDebug().nospace() << "No valid games were found in the list. Skipping save.";
return false;
}
qDebug().nospace() << "No valid games were found in the list.";

int nbGamesSaved = 0;
QList<GameInfo> games(((yumi*)_yumiPtr)->gamesInfo);
for (const GameInfo& gi : games)
if (nbGames > 0)
{
nbGamesSaved++;
toSave += "Game=" + gi.name + "#;#" + gi.path + "#;#" + gi.exePath + "#;#" + QString::number(gi.exeType) + "\n";
QList<GameInfo> games(((yumi*)_yumiPtr)->gamesInfo);
for (const GameInfo& gi : games)
{
nbGamesSaved++;
toSave += "Game=" + gi.name + "#;#" + gi.path + "#;#" + gi.exePath + "#;#" + QString::number(gi.exeType) + "\n";
}
}

QFile file(configFilepath);
Expand Down
3 changes: 3 additions & 0 deletions YUMI/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,9 @@ class Config
static QTranslator* _frenchTranslator;
static QTranslator* _frenchBaseTranslator;
static bool _isFrenchTranslatorInstalled;
static QTranslator* _turkishTranslator;
static QTranslator* _turkishBaseTranslator;
static bool _isTurkishTranslatorInstalled;

void* _yumiPtr;
QList<ThemeInfo> _themePresets;
Expand Down
Loading

0 comments on commit 039b8a1

Please sign in to comment.