File indexing completed on 2023-05-30 10:45:27

0001 /*
0002     SPDX-FileCopyrightText: 2004-2009 Peter Hedlund <peter.hedlund@kdemail.net>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #include "prefcardappearance.h"
0007 
0008 #include <KLocalizedString>
0009 
0010 PrefCardAppearance::PrefCardAppearance(QWidget *parent) : QWidget(parent)
0011 {
0012   setupUi(this);
0013 
0014   connect(flipButton, &QAbstractButton::clicked, this, &PrefCardAppearance::slotFlipButtonClicked);
0015   connect(kcfg_FrontFont, &KFontRequester::fontSelected, this, &PrefCardAppearance::slotFontChanged);
0016   connect(kcfg_FrontTextColor, &KColorButton::changed, this, &PrefCardAppearance::slotTextColorChanged);
0017   connect(kcfg_FrontCardColor, &KColorButton::changed, this, &PrefCardAppearance::slotCardColorChanged);
0018   connect(kcfg_FrontFrameColor, &KColorButton::changed, this, &PrefCardAppearance::slotFrameColorChanged);
0019   connect(kcfg_BackFont, &KFontRequester::fontSelected, this, &PrefCardAppearance::slotFontChanged);
0020   connect(kcfg_BackTextColor, &KColorButton::changed, this, &PrefCardAppearance::slotTextColorChanged);
0021   connect(kcfg_BackCardColor, &KColorButton::changed, this, &PrefCardAppearance::slotCardColorChanged);
0022   connect(kcfg_BackFrameColor, &KColorButton::changed, this, &PrefCardAppearance::slotFrameColorChanged);
0023   connect(widgetStack, &QStackedWidget::currentChanged, this, &PrefCardAppearance::slotCurrentChanged);
0024 
0025   widgetStack->setCurrentWidget(frontStackPage);
0026   // initialize the buddies, etc.
0027   slotCurrentChanged(widgetStack->indexOf(frontStackPage));
0028 }
0029 
0030 void PrefCardAppearance::slotFlipButtonClicked( )
0031 {
0032   if (widgetStack->currentWidget() == frontStackPage)
0033   {
0034     widgetStack->setCurrentWidget(backStackPage);
0035   }
0036   else
0037   {
0038     widgetStack->setCurrentWidget(frontStackPage);
0039   }
0040 }
0041 
0042 void PrefCardAppearance::slotFontChanged(const QFont & font)
0043 {
0044   flashcard->setTextFont(font);
0045 }
0046 
0047 void PrefCardAppearance::slotTextColorChanged( const QColor & color)
0048 {
0049   flashcard->setTextColor(color);
0050 }
0051 
0052 void PrefCardAppearance::slotCardColorChanged( const QColor & color)
0053 {
0054   flashcard->setCardColor(color);
0055 }
0056 
0057 void PrefCardAppearance::slotFrameColorChanged( const QColor & color)
0058 {
0059   flashcard->setFrameColor(color);
0060 }
0061 
0062 void PrefCardAppearance::slotCurrentChanged(int index)
0063 {
0064   if (index == widgetStack->indexOf(backStackPage))
0065   {
0066     flashcard->setIdentifier(i18nc("Back of the flashcard", "Back"));
0067     flashcard->setText(i18n("Answer"));
0068     flashcard->setTextFont(kcfg_BackFont->font());
0069     flashcard->setTextColor(kcfg_BackTextColor->color());
0070     flashcard->setCardColor(kcfg_BackCardColor->color());
0071     flashcard->setFrameColor(kcfg_BackFrameColor->color());
0072 
0073     fontLabel->setBuddy(kcfg_BackFont);
0074     textColorLabel->setBuddy(kcfg_BackTextColor);
0075     frameColorLabel->setBuddy(kcfg_BackFrameColor);
0076     cardColorLabel->setBuddy(kcfg_BackCardColor);
0077   }
0078   else
0079   {
0080     flashcard->setIdentifier(i18n("Front"));
0081     flashcard->setText(i18n("Question"));
0082     flashcard->setTextFont(kcfg_FrontFont->font());
0083     flashcard->setTextColor(kcfg_FrontTextColor->color());
0084     flashcard->setCardColor(kcfg_FrontCardColor->color());
0085     flashcard->setFrameColor(kcfg_FrontFrameColor->color());
0086 
0087     fontLabel->setBuddy(kcfg_FrontFont);
0088     textColorLabel->setBuddy(kcfg_FrontTextColor);
0089     frameColorLabel->setBuddy(kcfg_FrontFrameColor);
0090     cardColorLabel->setBuddy(kcfg_FrontCardColor);
0091   }
0092 }