Files
BionxControl/bcthemebutton.cpp
2026-04-03 22:28:07 +02:00

81 lines
1.7 KiB
C++

/***************************************************************************
BionxControl
© 2025 -2026 christoph holzheuer
christoph.holzheuer@gmail.com
Using:
mhs_can_drv.c
© 2011 - 2023 by MHS-Elektronik GmbH & Co. KG, Germany
Klaus Demlehner, klaus@mhs-elektronik.de
@see www.mhs-elektronik.de
Based on Bionx data type descriptions from:
BigXionFlasher USB V 0.2.4 rev. 97
© 2011-2013 by Thomas Koenig <info@bigxionflasher.org>
@see www.bigxionflasher.org
Bionx Bike Info
© 2018 Thorsten Schmidt (tschmidt@ts-soft.de)
@see www.ts-soft.de
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; either version 3 of the License, or
(at your option) any later version.
@see https://github.com/bikemike/bionx-bikeinfo
***************************************************************************/
#include <bcthemebutton.h>
BCThemeButton::BCThemeButton(QWidget *parent )
: QPushButton(parent)
{
// Visuelles Setup: Flach, keine Ränder, Hand-Cursor
setFlat(true);
setCursor(Qt::PointingHandCursor);
setFixedSize( 24, 24 );
updateIcon();
connect(this, &QPushButton::clicked, this, &BCThemeButton::toggleMode);
}
/**
* @brief Setzt den DarkMode
*/
void BCThemeButton::setDarkMode( bool isDark )
{
_isDarkMode = !isDark;
toggleMode();
}
/**
* @brief Schaltet den akutellen Mode um.
*/
void BCThemeButton::toggleMode()
{
_isDarkMode = !_isDarkMode;
updateIcon();
emit themeChanged(_isDarkMode);
}
/**
* @brief Icon & Tooltip anpassen
*/
void BCThemeButton::updateIcon()
{
setText(_isDarkMode ? "🌙" : "☀️");
setToolTip(_isDarkMode ? "Use LightMode" : "Use DarkMode");
}