mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 05:49:53 +08:00
init stylesheet before mainwindow is shown
This commit is contained in:
parent
a5a9b32ea3
commit
b0b51570b0
@ -258,7 +258,6 @@ QString Theme::fetchQtStyleSheet() const
|
|||||||
translateStyleByPalette(m_palette, style);
|
translateStyleByPalette(m_palette, style);
|
||||||
translateUrlToAbsolute(m_themeFolderPath, style);
|
translateUrlToAbsolute(m_themeFolderPath, style);
|
||||||
translateFontFamilyList(style);
|
translateFontFamilyList(style);
|
||||||
translateScaledSize(WidgetUtils::calculateScaleFactor(), style);
|
|
||||||
return style;
|
return style;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -355,40 +354,6 @@ void Theme::translateFontFamilyList(QString &p_style)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Theme::translateScaledSize(qreal p_factor, QString &p_style)
|
|
||||||
{
|
|
||||||
QRegularExpression scaleRe("(\\s|:)\\$([+-]?)(\\d+)(?=\\D)");
|
|
||||||
const int prefixCapturedIdx = 1;
|
|
||||||
const int signCapturedIdx = 2;
|
|
||||||
const int numCapturedIdx = 3;
|
|
||||||
|
|
||||||
qDebug() << "translateScaledSize of Qt style sheet" << p_factor;
|
|
||||||
|
|
||||||
int pos = 0;
|
|
||||||
QRegularExpressionMatch match;
|
|
||||||
while (pos < p_style.size()) {
|
|
||||||
int idx = p_style.indexOf(scaleRe, pos, &match);
|
|
||||||
if (idx == -1) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto numStr = match.captured(numCapturedIdx);
|
|
||||||
bool ok = false;
|
|
||||||
int val = numStr.toInt(&ok);
|
|
||||||
if (!ok) {
|
|
||||||
pos = idx + match.capturedLength();
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
val = val * p_factor + 0.5;
|
|
||||||
auto newStr = QStringLiteral("%1%2%3").arg(match.captured(prefixCapturedIdx),
|
|
||||||
match.captured(signCapturedIdx),
|
|
||||||
QString::number(val));
|
|
||||||
p_style.replace(idx, match.capturedLength(), newStr);
|
|
||||||
pos = idx + newStr.size();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QString Theme::paletteColor(const QString &p_name) const
|
QString Theme::paletteColor(const QString &p_name) const
|
||||||
{
|
{
|
||||||
auto val = findValueByKeyPath(m_palette, p_name).toString();
|
auto val = findValueByKeyPath(m_palette, p_name).toString();
|
||||||
|
@ -113,8 +113,6 @@ namespace vnotex
|
|||||||
// Thus we need to choose one available font from the list.
|
// Thus we need to choose one available font from the list.
|
||||||
static void translateFontFamilyList(QString &p_style);
|
static void translateFontFamilyList(QString &p_style);
|
||||||
|
|
||||||
static void translateScaledSize(qreal p_factor, QString &p_style);
|
|
||||||
|
|
||||||
static QJsonObject readJsonFile(const QString &p_filePath);
|
static QJsonObject readJsonFile(const QString &p_filePath);
|
||||||
|
|
||||||
static QJsonObject readPaletteFile(const QString &p_folder);
|
static QJsonObject readPaletteFile(const QString &p_folder);
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
* same specificity and the rule that appears last takes precedence.
|
* same specificity and the rule that appears last takes precedence.
|
||||||
* VNote specific syntax:
|
* VNote specific syntax:
|
||||||
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
||||||
* - $2px: 2 will be scaled by multiplying current display scaled factor.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QWidget {
|
QWidget {
|
||||||
@ -586,7 +585,7 @@ QTabBar::close-button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QTabBar::scroller {
|
QTabBar::scroller {
|
||||||
width: $20px;
|
width: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTabBar QToolButton {
|
QTabBar QToolButton {
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
* same specificity and the rule that appears last takes precedence.
|
* same specificity and the rule that appears last takes precedence.
|
||||||
* VNote specific syntax:
|
* VNote specific syntax:
|
||||||
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
||||||
* - $2px: 2 will be scaled by multiplying current display scaled factor.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QWidget[HitSettingWidget="true"] {
|
QWidget[HitSettingWidget="true"] {
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
* same specificity and the rule that appears last takes precedence.
|
* same specificity and the rule that appears last takes precedence.
|
||||||
* VNote specific syntax:
|
* VNote specific syntax:
|
||||||
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
||||||
* - $2px: 2 will be scaled by multiplying current display scaled factor.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QWidget {
|
QWidget {
|
||||||
@ -624,7 +623,7 @@ QTabBar::close-button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QTabBar::scroller {
|
QTabBar::scroller {
|
||||||
width: $20px;
|
width: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTabBar QToolButton {
|
QTabBar QToolButton {
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
* same specificity and the rule that appears last takes precedence.
|
* same specificity and the rule that appears last takes precedence.
|
||||||
* VNote specific syntax:
|
* VNote specific syntax:
|
||||||
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
||||||
* - $2px: 2 will be scaled by multiplying current display scaled factor.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QWidget {
|
QWidget {
|
||||||
@ -582,7 +581,7 @@ QTabBar::close-button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QTabBar::scroller {
|
QTabBar::scroller {
|
||||||
width: $20px;
|
width: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTabBar QToolButton {
|
QTabBar QToolButton {
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
* same specificity and the rule that appears last takes precedence.
|
* same specificity and the rule that appears last takes precedence.
|
||||||
* VNote specific syntax:
|
* VNote specific syntax:
|
||||||
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
||||||
* - $2px: 2 will be scaled by multiplying current display scaled factor.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QWidget {
|
QWidget {
|
||||||
@ -582,7 +581,7 @@ QTabBar::close-button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QTabBar::scroller {
|
QTabBar::scroller {
|
||||||
width: $20px;
|
width: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTabBar QToolButton {
|
QTabBar QToolButton {
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
* same specificity and the rule that appears last takes precedence.
|
* same specificity and the rule that appears last takes precedence.
|
||||||
* VNote specific syntax:
|
* VNote specific syntax:
|
||||||
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
||||||
* - $2px: 2 will be scaled by multiplying current display scaled factor.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QWidget {
|
QWidget {
|
||||||
@ -582,7 +581,7 @@ QTabBar::close-button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QTabBar::scroller {
|
QTabBar::scroller {
|
||||||
width: $20px;
|
width: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTabBar QToolButton {
|
QTabBar QToolButton {
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
* same specificity and the rule that appears last takes precedence.
|
* same specificity and the rule that appears last takes precedence.
|
||||||
* VNote specific syntax:
|
* VNote specific syntax:
|
||||||
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
||||||
* - $2px: 2 will be scaled by multiplying current display scaled factor.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QWidget {
|
QWidget {
|
||||||
@ -587,7 +586,7 @@ QTabBar::close-button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QTabBar::scroller {
|
QTabBar::scroller {
|
||||||
width: $20px;
|
width: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTabBar QToolButton {
|
QTabBar QToolButton {
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
* same specificity and the rule that appears last takes precedence.
|
* same specificity and the rule that appears last takes precedence.
|
||||||
* VNote specific syntax:
|
* VNote specific syntax:
|
||||||
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
||||||
* - $2px: 2 will be scaled by multiplying current display scaled factor.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QWidget {
|
QWidget {
|
||||||
@ -624,7 +623,7 @@ QTabBar::close-button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QTabBar::scroller {
|
QTabBar::scroller {
|
||||||
width: $20px;
|
width: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTabBar QToolButton {
|
QTabBar QToolButton {
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
* same specificity and the rule that appears last takes precedence.
|
* same specificity and the rule that appears last takes precedence.
|
||||||
* VNote specific syntax:
|
* VNote specific syntax:
|
||||||
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
* - @widgets#toolbox#title#border: reference to a color defined in palette.ini;
|
||||||
* - $2px: 2 will be scaled by multiplying current display scaled factor.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QWidget {
|
QWidget {
|
||||||
@ -643,7 +642,7 @@ QTabBar::close-button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QTabBar::scroller {
|
QTabBar::scroller {
|
||||||
width: $20px;
|
width: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTabBar QToolButton {
|
QTabBar QToolButton {
|
||||||
|
15
src/main.cpp
15
src/main.cpp
@ -157,6 +157,13 @@ int main(int argc, char *argv[])
|
|||||||
// Should set the correct locale before VNoteX::getInst().
|
// Should set the correct locale before VNoteX::getInst().
|
||||||
loadTranslators(app);
|
loadTranslators(app);
|
||||||
|
|
||||||
|
if (app.styleSheet().isEmpty()) {
|
||||||
|
auto style = VNoteX::getInst().getThemeMgr().fetchQtStyleSheet();
|
||||||
|
if (!style.isEmpty()) {
|
||||||
|
app.setStyleSheet(style);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MainWindow window;
|
MainWindow window;
|
||||||
window.show();
|
window.show();
|
||||||
|
|
||||||
@ -173,14 +180,6 @@ int main(int argc, char *argv[])
|
|||||||
// Let MainWindow show first to decide the screen on which app is running.
|
// Let MainWindow show first to decide the screen on which app is running.
|
||||||
WidgetUtils::calculateScaleFactor(window.windowHandle()->screen());
|
WidgetUtils::calculateScaleFactor(window.windowHandle()->screen());
|
||||||
|
|
||||||
if (app.styleSheet().isEmpty()) {
|
|
||||||
auto style = VNoteX::getInst().getThemeMgr().fetchQtStyleSheet();
|
|
||||||
if (!style.isEmpty()) {
|
|
||||||
app.setStyleSheet(style);
|
|
||||||
WidgetUtils::updateStyle(&window);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
VNoteX::getInst().getThemeMgr().setBaseBackground(window.palette().color(QPalette::Base));
|
VNoteX::getInst().getThemeMgr().setBaseBackground(window.palette().color(QPalette::Base));
|
||||||
|
|
||||||
window.kickOffOnStart(cmdOptions.m_pathsToOpen);
|
window.kickOffOnStart(cmdOptions.m_pathsToOpen);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user