diff --git a/.gitmodules b/.gitmodules index ec3e2b6..e7e8d20 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "sources/3rdparty/tasks"] path = sources/3rdparty/tasks url = https://github.com/mhogomchungu/tasks.git +[submodule "sources/3rdparty/fontdialog"] + path = sources/3rdparty/fontdialog + url = https://github.com/arcan1s/qtadds-fontdialog.git diff --git a/sources/3rdparty/fontdialog b/sources/3rdparty/fontdialog new file mode 160000 index 0000000..5c645f9 --- /dev/null +++ b/sources/3rdparty/fontdialog @@ -0,0 +1 @@ +Subproject commit 5c645f972c4d6ba16000bfb4176799c478524fa5 diff --git a/sources/awesome-widget/CMakeLists.txt b/sources/awesome-widget/CMakeLists.txt index 80e1012..5443ba6 100644 --- a/sources/awesome-widget/CMakeLists.txt +++ b/sources/awesome-widget/CMakeLists.txt @@ -21,7 +21,8 @@ include_directories (${CMAKE_SOURCE_DIR} set (SUBPROJECT_MISC_DIR "contents/misc") file (GLOB SUBPROJECT_DESKTOP_IN *.desktop) file (RELATIVE_PATH SUBPROJECT_DESKTOP ${CMAKE_SOURCE_DIR} ${SUBPROJECT_DESKTOP_IN}) -file (GLOB_RECURSE SUBPROJECT_SOURCE *.cpp ${PROJECT_TRDPARTY_DIR}/task/*.cpp) +file (GLOB_RECURSE SUBPROJECT_SOURCE *.cpp ${PROJECT_TRDPARTY_DIR}/task/*.cpp + ${PROJECT_TRDPARTY_DIR}/fontdialog/*.cpp) set (TASK_HEADER ${PROJECT_TRDPARTY_DIR}/task/task.h) file (GLOB SUBPROJECT_UI *.ui) file (GLOB SUBPROJECT_NOTIFY ${SUBPROJECT_MISC_DIR}/*.notifyrc) diff --git a/sources/awesome-widget/appearance.ui b/sources/awesome-widget/appearance.ui index fdce775..14f36cc 100644 --- a/sources/awesome-widget/appearance.ui +++ b/sources/awesome-widget/appearance.ui @@ -327,13 +327,13 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - 1 + 100 - 1000 + 900 - 50 + 100 400 diff --git a/sources/awesome-widget/awesome-widget.h b/sources/awesome-widget/awesome-widget.h index b0924b4..9ee45ce 100644 --- a/sources/awesome-widget/awesome-widget.h +++ b/sources/awesome-widget/awesome-widget.h @@ -80,6 +80,7 @@ private slots: void editHddSpeedItem(QListWidgetItem *item); void editMountItem(QListWidgetItem *item); void editTempItem(QListWidgetItem *item); + void setFontFormating(); void setFormating(); protected: diff --git a/sources/awesome-widget/configuration.cpp b/sources/awesome-widget/configuration.cpp index 720428f..5ac6823 100644 --- a/sources/awesome-widget/configuration.cpp +++ b/sources/awesome-widget/configuration.cpp @@ -24,6 +24,7 @@ #include #include +#include #include #include @@ -303,25 +304,20 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent) // appearance KConfigGroup cg = config(); - QString fontFamily = cg.readEntry("fontFamily", "Terminus"); - int fontSize = cg.readEntry("fontSize", 10); - QString fontColor = cg.readEntry("fontColor", "#000000"); - int fontWeight = cg.readEntry("fontWeight", 400); - QString fontStyle = cg.readEntry("fontStyle", "normal"); - QFont font = QFont(fontFamily, 12, 400, false); + CFont font(cg.readEntry("fontFamily", "Terminus")); + font.setPointSize(cg.readEntry("fontSize", 10)); + font.setCurrentColor(QColor(cg.readEntry("fontColor", "#000000"))); + font.setHtmlWeight(cg.readEntry("fontWeight", 400)); + font.setItalic(cg.readEntry("fontStyle", "normal") == QString("italic")); uiAppConfig.spinBox_interval->setValue(configuration[QString("interval")].toInt()); - uiAppConfig.fontComboBox->setCurrentFont(font); - uiAppConfig.spinBox_size->setValue(fontSize); - uiAppConfig.kcolorcombo->setColor(fontColor); - if (fontStyle == QString("normal")) - uiAppConfig.comboBox_style->setCurrentIndex(0); - else if (fontStyle == QString("italic")) + uiAppConfig.fontComboBox->setCurrentFont(font.toQFont()); + uiAppConfig.spinBox_size->setValue(font.pointSize()); + uiAppConfig.kcolorcombo->setColor(font.color()); + if (font.italic()) uiAppConfig.comboBox_style->setCurrentIndex(1); - uiAppConfig.spinBox_weight->setValue(fontWeight); - // format page - uiWidConfig.kcolorcombo->setColor(fontColor); - uiWidConfig.fontComboBox->setCurrentFont(font); - uiWidConfig.spinBox->setValue(fontSize); + else + uiAppConfig.comboBox_style->setCurrentIndex(0); + uiAppConfig.spinBox_weight->setValue(font.htmlWeight()); // dataengine QMap deSettings = readDataEngineConfiguration(); @@ -403,7 +399,7 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent) connect(uiWidConfig.pushButton_center, SIGNAL(clicked(bool)), this, SLOT(setFormating())); connect(uiWidConfig.pushButton_right, SIGNAL(clicked(bool)), this, SLOT(setFormating())); connect(uiWidConfig.pushButton_fill, SIGNAL(clicked(bool)), this, SLOT(setFormating())); - connect(uiWidConfig.pushButton_applyFont, SIGNAL(clicked(bool)), this, SLOT(setFormating())); + connect(uiWidConfig.pushButton_font, SIGNAL(clicked(bool)), this, SLOT(setFontFormating())); connect(parent, SIGNAL(okClicked()), this, SLOT(configAccepted())); @@ -589,19 +585,24 @@ void AwesomeWidget::configChanged() // appearance configuration[QString("interval")] = cg.readEntry("interval", "1000"); - QString fontFamily = cg.readEntry("fontFamily", "Terminus"); - int fontSize = cg.readEntry("fontSize", 10); - QString fontColor = cg.readEntry("fontColor", "#000000"); - int fontWeight = cg.readEntry("fontWeight", 400); - QString fontStyle = cg.readEntry("fontStyle", "normal"); + CFont font = CFont(cg.readEntry("fontFamily", "Terminus")); + font.setPointSize(cg.readEntry("fontSize", 10)); + font.setCurrentColor(QColor(cg.readEntry("fontColor", "#000000"))); + font.setHtmlWeight(cg.readEntry("fontWeight", 400)); + font.setItalic(cg.readEntry("fontStyle", "normal") == QString("italic")); + QString fontStyle; + if (font.italic()) + fontStyle = QString("italic"); + else + fontStyle = QString("normal"); formatLine[0] = QString("\ \ ") - .arg(fontFamily) - .arg(QString::number(fontSize)) - .arg(QString::number(fontWeight)) + .arg(font.family()) + .arg(font.pointSize()) + .arg(font.htmlWeight()) .arg(fontStyle) - .arg(fontColor); + .arg(font.color().name()); formatLine[1] = QString(""); // counts @@ -711,6 +712,24 @@ void AwesomeWidget::editTempItem(QListWidgetItem *item) } +void AwesomeWidget::setFontFormating() +{ + if (debug) qDebug() << PDEBUG; + + CFont defaultFont = CFont(uiAppConfig.fontComboBox->currentFont().family(), + uiAppConfig.spinBox_size->value(), + 400, false, uiAppConfig.kcolorcombo->color()); + CFont font = CFontDialog::getFont(i18n("Select font"), defaultFont, + false, false); + if (font != defaultFont) { + QString selectedText = uiWidConfig.textEdit_elements->textCursor().selectedText(); + uiWidConfig.textEdit_elements->insertPlainText(QString("") + .arg(font.color().name()).arg(font.family()).arg(font.pointSize()) + + selectedText + QString("")); + } +} + + void AwesomeWidget::setFormating() { if (debug) qDebug() << PDEBUG; @@ -733,15 +752,4 @@ void AwesomeWidget::setFormating() uiWidConfig.textEdit_elements->insertPlainText(QString("

") + selectedText + QString("

")); else if (sender() == uiWidConfig.pushButton_fill) uiWidConfig.textEdit_elements->insertPlainText(QString("

") + selectedText + QString("

")); - else if (sender() == uiWidConfig.pushButton_applyFont) { - QString color = uiWidConfig.kcolorcombo->color().name(); - QString font = uiWidConfig.fontComboBox->currentFont().family(); - QString size = QString::number(uiWidConfig.spinBox->value()); - uiWidConfig.textEdit_elements->insertPlainText(QString("") - .arg(color).arg(font).arg(size) + - selectedText + QString("")); - uiWidConfig.kcolorcombo->setColor(uiAppConfig.kcolorcombo->color()); - uiWidConfig.fontComboBox->setCurrentFont(uiAppConfig.fontComboBox->currentFont()); - uiWidConfig.spinBox->setValue(uiAppConfig.spinBox_size->value()); - } } diff --git a/sources/awesome-widget/widget.ui b/sources/awesome-widget/widget.ui index b09622c..2a106ee 100644 --- a/sources/awesome-widget/widget.ui +++ b/sources/awesome-widget/widget.ui @@ -60,6 +60,29 @@
+ + + + Font + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + @@ -106,7 +129,7 @@ - + Qt::Horizontal @@ -172,52 +195,6 @@ - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - - - - Insert - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - @@ -230,13 +207,6 @@ - - - KColorCombo - QComboBox -
kcolorcombo.h
-
-
diff --git a/sources/desktop-panel/appearance.ui b/sources/desktop-panel/appearance.ui index 9904c62..22623b9 100644 --- a/sources/desktop-panel/appearance.ui +++ b/sources/desktop-panel/appearance.ui @@ -241,13 +241,13 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - 300 + 100 - 600 + 900 - 50 + 100 400 @@ -547,13 +547,13 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - 300 + 100 - 600 + 900 - 50 + 100 400