quarkai/setting/fontwidget.cpp

661 lines
24 KiB
C++

/*
* Copyright (C) 2013 ~ 2015 National University of Defense Technology(NUDT) & Kylin Ltd.
*
* Authors:
* Kobe Lee xiangli@ubuntukylin.com/kobe24_lixiang@126.com
*
* This program 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; version 3.
*
* This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "fontwidget.h"
#include <QDebug>
#include "../component/kylinfontdialog.h"
#include "../src/mainwindow.h"
FontWidget::FontWidget(QWidget *parent, MainWindow *window, QString cur_desktop, QString skin) :
SettingModulePage(parent),
parentWindow(window),
desktop(cur_desktop),
cur_skin(skin)
{
default_font_label = new QLabel();
desktop_font_label = new QLabel();
monospace_font_label = new QLabel();
document_font_label = new QLabel();
titlebar_font_label = new QLabel();
scaling_label = new QLabel();
hinting_label = new QLabel();
antialiasing_label = new QLabel();
default_font_btn = new QPushButton();
desktop_font_btn = new QPushButton();
monospace_font_btn = new QPushButton();
document_font_btn = new QPushButton();
titlebar_font_btn = new QPushButton();
scaling_slider = new QDoubleSpinBox();
scaling_slider->setButtonSymbols(QAbstractSpinBox::PlusMinus);
scaling_slider->setSingleStep(0.1);
scaling_slider->setMinimum(0.5);
scaling_slider->setMaximum(3.0);
hinting_combo = new QComboBox();
antialiasing_combo = new QComboBox();
restore_default_font_btn = new QPushButton();
restore_desktop_font_btn = new QPushButton();
restore_monospace_font_btn = new QPushButton();
restore_document_font_btn = new QPushButton();
restore_titlebar_font_btn = new QPushButton();
restore_default_font_btn->setFixedSize(91, 25);
restore_desktop_font_btn->setFixedSize(91, 25);
restore_monospace_font_btn->setFixedSize(91, 25);
restore_document_font_btn->setFixedSize(91, 25);
restore_titlebar_font_btn->setFixedSize(91, 25);
restore_default_font_btn->setObjectName("blackButton");
restore_desktop_font_btn->setObjectName("blackButton");
restore_monospace_font_btn->setObjectName("blackButton");
restore_document_font_btn->setObjectName("blackButton");
restore_titlebar_font_btn->setObjectName("blackButton");
restore_default_font_btn->setFocusPolicy(Qt::NoFocus);
restore_desktop_font_btn->setFocusPolicy(Qt::NoFocus);
restore_monospace_font_btn->setFocusPolicy(Qt::NoFocus);
restore_document_font_btn->setFocusPolicy(Qt::NoFocus);
restore_titlebar_font_btn->setFocusPolicy(Qt::NoFocus);
default_font_btn->setObjectName("transparentButton");
desktop_font_btn->setObjectName("transparentButton");
monospace_font_btn->setObjectName("transparentButton");
document_font_btn->setObjectName("transparentButton");
titlebar_font_btn->setObjectName("transparentButton");
default_font_btn->setFocusPolicy(Qt::NoFocus);
desktop_font_btn->setFocusPolicy(Qt::NoFocus);
monospace_font_btn->setFocusPolicy(Qt::NoFocus);
document_font_btn->setFocusPolicy(Qt::NoFocus);
titlebar_font_btn->setFocusPolicy(Qt::NoFocus);
default_font_btn->setToolTip(tr("Click here to change font"));
desktop_font_btn->setToolTip(tr("Click here to change font"));
monospace_font_btn->setToolTip(tr("Click here to change font"));
document_font_btn->setToolTip(tr("Click here to change font"));
titlebar_font_btn->setToolTip(tr("Click here to change font"));
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui") {
scaling_label->hide();
scaling_slider->hide();
}
default_font_label->setFixedWidth(150);
desktop_font_label->setFixedWidth(150);
monospace_font_label->setFixedWidth(150);
document_font_label->setFixedWidth(150);
titlebar_font_label->setFixedWidth(150);
scaling_label->setFixedWidth(150);
hinting_label->setFixedWidth(150);
antialiasing_label->setFixedWidth(150);
QHBoxLayout *layout1 = new QHBoxLayout();
layout1->setSpacing(10);
layout1->addWidget(default_font_label);
layout1->addWidget(default_font_btn);
layout1->addStretch();
layout1->addWidget(restore_default_font_btn);
layout1->setContentsMargins(0, 0, 200, 0);
QHBoxLayout *layout2 = new QHBoxLayout();
layout2->setSpacing(10);
layout2->addWidget(desktop_font_label);
layout2->addWidget(desktop_font_btn);
layout2->addStretch();
layout2->addWidget(restore_desktop_font_btn);
layout2->setContentsMargins(0, 0, 200, 0);
QHBoxLayout *layout3 = new QHBoxLayout();
layout3->setSpacing(10);
layout3->addWidget(monospace_font_label);
layout3->addWidget(monospace_font_btn);
layout3->addStretch();
layout3->addWidget(restore_monospace_font_btn);
layout3->setContentsMargins(0, 0, 200, 0);
QHBoxLayout *layout4 = new QHBoxLayout();
layout4->setSpacing(10);
layout4->addWidget(document_font_label);
layout4->addWidget(document_font_btn);
layout4->addStretch();
layout4->addWidget(restore_document_font_btn);
layout4->setContentsMargins(0, 0, 200, 0);
QHBoxLayout *layout5 = new QHBoxLayout();
layout5->setSpacing(10);
layout5->addWidget(titlebar_font_label);
layout5->addWidget(titlebar_font_btn);
layout5->addStretch();
layout5->addWidget(restore_titlebar_font_btn);
layout5->setContentsMargins(0, 0, 200, 0);
QHBoxLayout *layout6 = new QHBoxLayout();
layout6->setSpacing(10);
layout6->addWidget(scaling_label);
layout6->addWidget(scaling_slider);
layout6->addStretch();
QHBoxLayout *layout7 = new QHBoxLayout();
layout7->setSpacing(10);
layout7->addWidget(hinting_label);
layout7->addWidget(hinting_combo);
layout7->addStretch();
QHBoxLayout *layout8 = new QHBoxLayout();
layout8->setSpacing(10);
layout8->addWidget(antialiasing_label);
layout8->addWidget(antialiasing_combo);
layout8->addStretch();
QVBoxLayout *layout = new QVBoxLayout();
layout->addLayout(layout1);
layout->addLayout(layout2);
layout->addLayout(layout3);
layout->addLayout(layout4);
layout->addLayout(layout5);
layout->addLayout(layout6);
layout->addLayout(layout7);
layout->addLayout(layout8);
layout->addStretch();
// bottom_widget->setLayout(layout);
setLayout(layout);
layout->setSpacing(10);
layout->setContentsMargins(20, 20, 20, 0);
// splitter->addWidget(top_widget);
// splitter->addWidget(bottom_widget);
// QHBoxLayout *main_layout = new QHBoxLayout;
// main_layout->addStretch();
// main_layout->addWidget(splitter);
// main_layout->setSpacing(0);
// main_layout->setContentsMargins(0, 0, 0, 0);
// setLayout(main_layout);
// this->initSettingData();
this->setLanguage();
}
FontWidget::~FontWidget()
{
if (default_font_label != NULL) {
delete default_font_label;
default_font_label = NULL;
}
if (desktop_font_label != NULL) {
delete desktop_font_label;
desktop_font_label = NULL;
}
if (monospace_font_label != NULL) {
delete monospace_font_label;
monospace_font_label = NULL;
}
if (document_font_label != NULL) {
delete document_font_label;
document_font_label = NULL;
}
if (titlebar_font_label != NULL) {
delete titlebar_font_label;
titlebar_font_label = NULL;
}
if (scaling_label != NULL) {
delete scaling_label;
scaling_label = NULL;
}
if (hinting_label != NULL) {
delete hinting_label;
hinting_label = NULL;
}
if (antialiasing_label != NULL) {
delete antialiasing_label;
antialiasing_label = NULL;
}
if (default_font_btn != NULL) {
delete default_font_btn;
default_font_btn = NULL;
}
if (desktop_font_btn != NULL) {
delete desktop_font_btn;
desktop_font_btn = NULL;
}
if (monospace_font_btn != NULL) {
delete monospace_font_btn;
monospace_font_btn = NULL;
}
if (document_font_btn != NULL) {
delete document_font_btn;
document_font_btn = NULL;
}
if (titlebar_font_btn != NULL) {
delete titlebar_font_btn;
titlebar_font_btn = NULL;
}
if (scaling_slider != NULL) {
delete scaling_slider;
scaling_slider = NULL;
}
if (hinting_combo != NULL) {
delete hinting_combo;
hinting_combo = NULL;
}
if (antialiasing_combo != NULL) {
delete antialiasing_combo;
antialiasing_combo = NULL;
}
if (restore_default_font_btn != NULL) {
delete restore_default_font_btn;
restore_default_font_btn = NULL;
}
if (restore_desktop_font_btn != NULL) {
delete restore_desktop_font_btn;
restore_desktop_font_btn = NULL;
}
if (restore_monospace_font_btn != NULL) {
delete restore_monospace_font_btn;
restore_monospace_font_btn = NULL;
}
if (restore_document_font_btn != NULL) {
delete restore_document_font_btn;
restore_document_font_btn = NULL;
}
if (restore_titlebar_font_btn != NULL) {
delete restore_titlebar_font_btn;
restore_titlebar_font_btn = NULL;
}
}
QString FontWidget::settingModuleName()
{
return "FontPage";
}
void FontWidget::setLanguage() {
// title_label->setText(tr("Default font settings"));
// description_label->setText(tr("According to personal preferences to set the system default font, click the 'Restore' button, can be restored to the state before the font settings."));
// back_btn->setText(tr("Back"));
default_font_label->setText(tr("Default Font") + ":");
desktop_font_label->setText(tr("Desktop Font") + ":");
monospace_font_label->setText(tr("Monospace Font") + ":");
document_font_label->setText(tr("Document Font") + ":");
titlebar_font_label->setText(tr("Titlebar Font") + ":");
scaling_label->setText(tr("Global Font Scaling") + ":");
hinting_label->setText(tr("Hinting") + ":");
antialiasing_label->setText(tr("Antialiasing") + ":");
restore_default_font_btn->setText(tr("Restore"));
restore_desktop_font_btn->setText(tr("Restore"));
restore_monospace_font_btn->setText(tr("Restore"));
restore_document_font_btn->setText(tr("Restore"));
restore_titlebar_font_btn->setText(tr("Restore"));
}
void FontWidget::initSettingData()
{
emit requestFontData();
/*current_font = sessionproxy->get_font_qt();
desktop_font = sessionproxy->get_desktop_font_qt();
if(desktop_font.isEmpty())
{
// sessionproxy->set_desktop_font_qt_default();
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui")
sessionproxy->set_desktop_font_qt("Sans 10");
else
sessionproxy->set_desktop_font_qt("Ubuntu 11");
}
desktop_font = sessionproxy->get_desktop_font_qt();
monospace_font = sessionproxy->get_monospace_font_qt();
document_font = sessionproxy->get_document_font_qt();
titlebar_font = sessionproxy->get_window_title_font_qt();
default_font_btn->setText(current_font);
desktop_font_btn->setText(desktop_font);
monospace_font_btn->setText(monospace_font);
document_font_btn->setText(document_font);
titlebar_font_btn->setText(titlebar_font);
if (this->desktop != "mate" || this->desktop == "MATE") {
scaling_slider->setValue(sessionproxy->get_font_zoom_qt());
}
QString current_smooth = sessionproxy->get_smooth_style_qt();
m_smoothlist = sessionproxy->get_smooth_style_list_qt();
hinting_combo->clear();
hinting_combo->clearEditText();
hinting_combo->addItems(m_smoothlist);
QList<QString>::Iterator it = m_smoothlist.begin(), itend = m_smoothlist.end();
int initIndex = 0;
for(;it != itend; it++,initIndex++)
{
if(*it == current_smooth)
break;
}
hinting_combo->setCurrentIndex(initIndex);
QString current_antialiasing = sessionproxy->get_antialiasing_style_qt();
m_antialiasinglist = sessionproxy->get_antialiasing_style_list_qt();
antialiasing_combo->clear();
antialiasing_combo->clearEditText();
antialiasing_combo->addItems(m_antialiasinglist);
QList<QString>::Iterator ite = m_antialiasinglist.begin(), iteend = m_antialiasinglist.end();
int index = 0;
for(;ite != iteend; ite++,index++)
{
if(*ite == current_antialiasing)
break;
}
antialiasing_combo->setCurrentIndex(index);*/
this->initConnect();
}
void FontWidget::onSendFontValue(const QString &curFont)
{
default_font_btn->setText(curFont);
}
void FontWidget::onSendDesktopFontValue(const QString &curFont)
{
desktop_font_btn->setText(curFont);
}
void FontWidget::onSendMonospaceFontValue(const QString &curFont)
{
monospace_font_btn->setText(curFont);
}
void FontWidget::onSendDocumentFontValue(const QString &curFont)
{
document_font_btn->setText(curFont);
}
void FontWidget::onSendTitlebarFontValue(const QString &curFont)
{
titlebar_font_btn->setText(curFont);
}
void FontWidget::onSendFontSmoothAndAntialiasingValue(double fontZoom, const QString &current_smooth, const QStringList &smoothlist, const QString &current_antialiasing, const QStringList &antialiasinglist)
{
if (this->desktop != "mate" || this->desktop == "MATE") {
scaling_slider->setValue(fontZoom);
}
m_smoothlist.clear();
m_smoothlist = smoothlist;
hinting_combo->clear();
hinting_combo->clearEditText();
hinting_combo->addItems(m_smoothlist);
QList<QString>::Iterator it = m_smoothlist.begin(), itend = m_smoothlist.end();
int initIndex = 0;
for(;it != itend; it++,initIndex++)
{
if(*it == current_smooth)
break;
}
hinting_combo->setCurrentIndex(initIndex);
m_antialiasinglist.clear();
m_antialiasinglist = antialiasinglist;
antialiasing_combo->clear();
antialiasing_combo->clearEditText();
antialiasing_combo->addItems(m_antialiasinglist);
QList<QString>::Iterator ite = m_antialiasinglist.begin(), iteend = m_antialiasinglist.end();
int index = 0;
for(;ite != iteend; ite++,index++)
{
if(*ite == current_antialiasing)
break;
}
antialiasing_combo->setCurrentIndex(index);
}
void FontWidget::initConnect() {
// connect(back_btn, SIGNAL(clicked()), this, SIGNAL(showSettingMainWidget()));
connect(default_font_btn, SIGNAL(clicked()), this, SLOT(setDefaultFont()));
connect(desktop_font_btn, SIGNAL(clicked()), this, SLOT(setDesktopFont()));
connect(monospace_font_btn, SIGNAL(clicked()), this, SLOT(setMonospaceFont()));
connect(document_font_btn, SIGNAL(clicked()), this, SLOT(setDocumentFont()));
connect(titlebar_font_btn, SIGNAL(clicked()), this, SLOT(setTitlebarFont()));
connect(scaling_slider, SIGNAL(valueChanged(double)), this, SLOT(setScalingValue(double)));
connect(hinting_combo, SIGNAL(currentIndexChanged(QString)), this, SLOT(setFontHinting(QString)));
connect(antialiasing_combo, SIGNAL(currentIndexChanged(QString)), this, SLOT(setFontAntialiasing(QString)));
connect(restore_default_font_btn, SIGNAL(clicked()), this, SLOT(restore_default_font()));
connect(restore_desktop_font_btn, SIGNAL(clicked()), this, SLOT(restore_desktop_font()));
connect(restore_monospace_font_btn, SIGNAL(clicked()), this, SLOT(restore_monospace_font()));
connect(restore_document_font_btn, SIGNAL(clicked()), this, SLOT(restore_document_font()));
connect(restore_titlebar_font_btn, SIGNAL(clicked()), this, SLOT(restore_titlebar_font()));
// connect(sessionproxy, SIGNAL(string_value_notify(QString, QString)), this, SLOT(fontwidget_notify_string(QString, QString)));
// connect(sessionproxy, SIGNAL(double_value_notify(QString, double)), this, SLOT(fontwidget_notify_double(QString, double)));
}
void FontWidget::fontwidget_notify_string(QString key, QString value)
{
if (key == "font-name") {
default_font_btn->setText(value);
}
else if (key == "font") {
desktop_font_btn->setText(value);
}
else if (key == "monospace-font-name") {
monospace_font_btn->setText(value);
}
else if (key == "document-font-name") {
document_font_btn->setText(value);
}
else if (key == "titlebar-font") {
titlebar_font_btn->setText(value);
}
else if (key == "hinting") {
QList<QString>::Iterator it = m_smoothlist.begin(), itend = m_smoothlist.end();
int index = -1;
bool exist = false;
for(;it != itend; it++)
{
++index;
if(*it == value) {
exist = true;
break;
}
}
if (exist) {
exist = false;
hinting_combo->setCurrentIndex(index);
}
else
hinting_combo->setCurrentIndex(-1);
}
else if (key == "antialiasing") {
QList<QString>::Iterator it = m_antialiasinglist.begin(), itend = m_antialiasinglist.end();
int index = -1;
bool exist = false;
for(;it != itend; it++)
{
++index;
if(*it == value) {
exist = true;
break;
}
}
if (exist) {
exist = false;
antialiasing_combo->setCurrentIndex(index);
}
else
antialiasing_combo->setCurrentIndex(-1);
}
}
void FontWidget::fontwidget_notify_double(QString key, double value)
{
if (key == "text-scaling-factor") {
scaling_slider->setValue(value);
}
}
void FontWidget::setDefaultFont() {
// KylinFontDialog *fontDialog = new KylinFontDialog(mSettings, flag, current_font, 0);
KylinFontDialog *fontDialog = new KylinFontDialog(current_font/*, this->cur_skin, 0*/);
connect(fontDialog, SIGNAL(rebackCurrentFont(QString)), this, SLOT(resetDefaultFont(QString)));
fontDialog->exec();
}
void FontWidget::resetDefaultFont(QString cur_font)
{
this->current_font = cur_font;
emit setDefaultFontByName(cur_font);
// sessionproxy->set_font_qt(cur_font);
default_font_btn->setText(cur_font);
}
void FontWidget::setDesktopFont() {
KylinFontDialog *fontDialog = new KylinFontDialog(desktop_font/*, this->cur_skin, 0*/);
connect(fontDialog, SIGNAL(rebackCurrentFont(QString)), this, SLOT(resetDesktopFont(QString)));
fontDialog->exec();
}
void FontWidget::resetDesktopFont(QString cur_font)
{
this->desktop_font = cur_font;
emit setDesktopFontByName(cur_font);
// sessionproxy->set_desktop_font_qt(cur_font);
desktop_font_btn->setText(cur_font);
}
void FontWidget::resetCurrentSkin(QString skin)
{
this->cur_skin = skin;
}
void FontWidget::setMonospaceFont() {
KylinFontDialog *fontDialog = new KylinFontDialog(monospace_font/*, this->cur_skin, 0*/);
connect(fontDialog, SIGNAL(rebackCurrentFont(QString)), this, SLOT(resetMonospaceFont(QString)));
fontDialog->exec();
}
void FontWidget::resetMonospaceFont(QString cur_font)
{
this->monospace_font = cur_font;
emit setMonospaceFontByName(cur_font);
// sessionproxy->set_monospace_font_qt(cur_font);
monospace_font_btn->setText(cur_font);
}
void FontWidget::setDocumentFont() {
KylinFontDialog *fontDialog = new KylinFontDialog(document_font/*, this->cur_skin, 0*/);
connect(fontDialog, SIGNAL(rebackCurrentFont(QString)), this, SLOT(resetDocumentFont(QString)));
fontDialog->exec();
}
void FontWidget::resetDocumentFont(QString cur_font)
{
this->document_font = cur_font;
emit setDocumentFontByName(cur_font);
// sessionproxy->set_document_font_qt(cur_font);
document_font_btn->setText(cur_font);
}
void FontWidget::setTitlebarFont() {
KylinFontDialog *fontDialog = new KylinFontDialog(titlebar_font/*, this->cur_skin, 0*/);
connect(fontDialog, SIGNAL(rebackCurrentFont(QString)), this, SLOT(resetTitlebarFont(QString)));
fontDialog->exec();
}
void FontWidget::resetTitlebarFont(QString cur_font)
{
this->titlebar_font = cur_font;
emit setTitlebarFontByName(cur_font);
// sessionproxy->set_window_title_font_qt(cur_font);
titlebar_font_btn->setText(cur_font);
}
void FontWidget::setScalingValue(double value)
{
emit resetFontZoomScalingValue(value);
// sessionproxy->set_font_zoom_qt(value);
}
void FontWidget::setFontHinting(QString selected)
{
emit resetFontHinting(selected);
// sessionproxy->set_smooth_style_qt(selected);
}
void FontWidget::setFontAntialiasing(QString selected)
{
emit resetFontAntialiasing(selected);
// sessionproxy->set_antialiasing_style_qt(selected);
}
void FontWidget::restore_default_font()
{
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui") {
emit restoreDefaultFont(true);
// sessionproxy->set_default_font_string_qt("org.mate.interface", "font-name", "string");
// default_font_btn->setText(sessionproxy->get_default_font_string_qt("org.mate.interface", "font-name"));
}
else {
emit restoreDefaultFont(false);
// sessionproxy->set_default_font_string_qt("org.gnome.desktop.interface", "font-name", "string");
// default_font_btn->setText(sessionproxy->get_default_font_string_qt("org.gnome.desktop.interface", "font-name"));
}
}
void FontWidget::restore_desktop_font()
{
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui") {
emit restoreDesktopDefaultFont(true);
// sessionproxy->set_default_font_string_qt("org.mate.caja.desktop", "font", "string");
// desktop_font_btn->setText(sessionproxy->get_default_font_string_qt("org.mate.caja.desktop", "font"));
}
else {
emit restoreDesktopDefaultFont(false);
// sessionproxy->set_default_font_string_qt("org.gnome.nautilus.desktop", "font", "string");
// desktop_font_btn->setText(sessionproxy->get_default_font_string_qt("org.gnome.nautilus.desktop", "font"));
}
}
void FontWidget::restore_monospace_font()
{
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui") {
emit restoreMonospaceDefaultFont(true);
// sessionproxy->set_default_font_string_qt("org.mate.interface", "monospace-font-name", "string");
// monospace_font_btn->setText(sessionproxy->get_default_font_string_qt("org.mate.interface", "monospace-font-name"));
}
else {
emit restoreMonospaceDefaultFont(false);
// sessionproxy->set_default_font_string_qt("org.gnome.desktop.interface", "monospace-font-name", "string");
// monospace_font_btn->setText(sessionproxy->get_default_font_string_qt("org.gnome.desktop.interface", "monospace-font-name"));
}
}
void FontWidget::restore_document_font()
{
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui") {
emit restoreDocumentDefaultFont(true);
// sessionproxy->set_default_font_string_qt("org.mate.interface", "document-font-name", "string");
// document_font_btn->setText(sessionproxy->get_default_font_string_qt("org.mate.interface", "document-font-name"));
}
else {
emit restoreDocumentDefaultFont(false);
// sessionproxy->set_default_font_string_qt("org.gnome.desktop.interface", "document-font-name", "string");
// document_font_btn->setText(sessionproxy->get_default_font_string_qt("org.gnome.desktop.interface", "document-font-name"));
}
}
void FontWidget::restore_titlebar_font()
{
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui") {
emit restoreTitlebarDefaultFont(true);
// sessionproxy->set_default_font_string_qt("org.gnome.desktop.wm.preferences", "titlebar-font", "string");
// titlebar_font_btn->setText(sessionproxy->get_default_font_string_qt("org.gnome.desktop.wm.preferences", "titlebar-font"));
}
else {
emit restoreTitlebarDefaultFont(false);
// sessionproxy->set_default_font_string_qt("org.gnome.desktop.wm.preferences", "titlebar-font", "string");
// titlebar_font_btn->setText(sessionproxy->get_default_font_string_qt("org.gnome.desktop.wm.preferences", "titlebar-font"));
}
}