Big-Ugly Style Update (#278)
* Bulk replaced tabs with spaces * Bulk removed trailing whitespace from lines * Replaced c-style comments with c++-style comments in file banners * Replace nested namespace definitions with single concise definitions (C++17), this keeps the indentation more manageable * Cleanup ordering and spacing of include directives * Bulk renaming of header file extensions from '.h' to '.hpp'. * Update CODING-STYLE.md * Update target_compile_features from cxx_std_11 to cxx_std_20. * Refresh .clang-format file. Still needs a lot of tweaking.
This commit is contained in:
+145
-144
@@ -1,184 +1,185 @@
|
||||
/* ColorButton.cpp
|
||||
*
|
||||
* Copyright (C) 2014-2016 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt 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.
|
||||
*
|
||||
* gLabels-qt 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 gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
// ColorButton.cpp
|
||||
//
|
||||
// Copyright (C) 2014-2016 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt 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.
|
||||
//
|
||||
// gLabels-qt 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 gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
#include "ColorButton.h"
|
||||
|
||||
#include "ColorSwatch.h"
|
||||
#include "ColorButton.hpp"
|
||||
|
||||
#include "ColorSwatch.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QHBoxLayout>
|
||||
#include <QIcon>
|
||||
#include <QtDebug>
|
||||
|
||||
|
||||
//
|
||||
// Private
|
||||
//
|
||||
namespace
|
||||
{
|
||||
const int SWATCH_W = 64;
|
||||
const int SWATCH_H = 24;
|
||||
}
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
//
|
||||
// Private
|
||||
//
|
||||
namespace
|
||||
{
|
||||
const int SWATCH_W = 64;
|
||||
const int SWATCH_H = 24;
|
||||
}
|
||||
|
||||
ColorButton::ColorButton( QWidget* parent )
|
||||
: QPushButton( parent ), mIsDefault(0), mDialog(nullptr)
|
||||
{
|
||||
// empty
|
||||
}
|
||||
|
||||
|
||||
ColorButton::ColorButton( QWidget* parent )
|
||||
: QPushButton( parent ), mIsDefault(0), mDialog(nullptr)
|
||||
{
|
||||
// empty
|
||||
}
|
||||
void ColorButton::init( const QString& defaultLabel,
|
||||
const QColor& defaultColor,
|
||||
const QColor& color,
|
||||
bool showUseFieldButton )
|
||||
{
|
||||
mDefaultColor = defaultColor;
|
||||
mColorNode = model::ColorNode( color );
|
||||
|
||||
setMinimumSize( QSize( 85, 34 ) );
|
||||
setIconSize( QSize(SWATCH_W, SWATCH_H) );
|
||||
|
||||
setIcon( QIcon( ColorSwatch( SWATCH_W, SWATCH_H, color ) ) );
|
||||
setText( "" );
|
||||
setCheckable( true );
|
||||
|
||||
mDialog = new ColorPaletteDialog( defaultLabel,
|
||||
defaultColor,
|
||||
color,
|
||||
showUseFieldButton );
|
||||
|
||||
connect( this, SIGNAL(toggled(bool)), this, SLOT(onButtonToggled(bool)) );
|
||||
connect( mDialog, SIGNAL(colorChanged(model::ColorNode,bool)),
|
||||
this, SLOT(onPaletteDialogChanged(model::ColorNode,bool)) );
|
||||
connect( mDialog, SIGNAL(accepted()), this, SLOT(onPaletteDialogAccepted()) );
|
||||
connect( mDialog, SIGNAL(rejected()), this, SLOT(onPaletteDialogRejected()) );
|
||||
}
|
||||
|
||||
|
||||
void ColorButton::init( const QString& defaultLabel,
|
||||
const QColor& defaultColor,
|
||||
const QColor& color,
|
||||
bool showUseFieldButton )
|
||||
{
|
||||
mDefaultColor = defaultColor;
|
||||
mColorNode = model::ColorNode( color );
|
||||
void ColorButton::setColorNode( model::ColorNode colorNode )
|
||||
{
|
||||
mIsDefault = false;
|
||||
|
||||
setMinimumSize( QSize( 85, 34 ) );
|
||||
setIconSize( QSize(SWATCH_W, SWATCH_H) );
|
||||
mColorNode = colorNode;
|
||||
|
||||
setIcon( QIcon( ColorSwatch( SWATCH_W, SWATCH_H, color ) ) );
|
||||
setText( "" );
|
||||
setCheckable( true );
|
||||
if ( colorNode.isField() )
|
||||
{
|
||||
setIcon( QIcon() );
|
||||
setText( QString("${%1}").arg( colorNode.key() ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
setIcon( QIcon( ColorSwatch( SWATCH_W, SWATCH_H, colorNode.color() ) ) );
|
||||
setText( "" );
|
||||
}
|
||||
|
||||
mDialog = new ColorPaletteDialog( defaultLabel,
|
||||
defaultColor,
|
||||
color,
|
||||
showUseFieldButton );
|
||||
|
||||
connect( this, SIGNAL(toggled(bool)), this, SLOT(onButtonToggled(bool)) );
|
||||
connect( mDialog, SIGNAL(colorChanged(model::ColorNode,bool)),
|
||||
this, SLOT(onPaletteDialogChanged(model::ColorNode,bool)) );
|
||||
connect( mDialog, SIGNAL(accepted()), this, SLOT(onPaletteDialogAccepted()) );
|
||||
connect( mDialog, SIGNAL(rejected()), this, SLOT(onPaletteDialogRejected()) );
|
||||
}
|
||||
mDialog->setColorNode( colorNode );
|
||||
}
|
||||
|
||||
|
||||
void ColorButton::setColorNode( model::ColorNode colorNode )
|
||||
{
|
||||
mIsDefault = false;
|
||||
void ColorButton::setColor( QColor color )
|
||||
{
|
||||
mIsDefault = false;
|
||||
|
||||
mColorNode = colorNode;
|
||||
mColorNode.setField( false );
|
||||
mColorNode.setColor( color );
|
||||
mColorNode.setKey( "" );
|
||||
|
||||
if ( colorNode.isField() )
|
||||
{
|
||||
setIcon( QIcon() );
|
||||
setText( QString("${%1}").arg( colorNode.key() ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
setIcon( QIcon( ColorSwatch( SWATCH_W, SWATCH_H, colorNode.color() ) ) );
|
||||
setText( "" );
|
||||
}
|
||||
|
||||
mDialog->setColorNode( colorNode );
|
||||
}
|
||||
setIcon( QIcon( ColorSwatch( SWATCH_W, SWATCH_H, color ) ) );
|
||||
setText( "" );
|
||||
}
|
||||
|
||||
|
||||
void ColorButton::setColor( QColor color )
|
||||
{
|
||||
mIsDefault = false;
|
||||
void ColorButton::setToDefault()
|
||||
{
|
||||
mIsDefault = true;
|
||||
|
||||
mColorNode.setField( false );
|
||||
mColorNode.setColor( color );
|
||||
mColorNode.setKey( "" );
|
||||
mColorNode.setField( false );
|
||||
mColorNode.setColor( mDefaultColor );
|
||||
mColorNode.setKey( "" );
|
||||
|
||||
setIcon( QIcon( ColorSwatch( SWATCH_W, SWATCH_H, color ) ) );
|
||||
setText( "" );
|
||||
}
|
||||
setIcon( QIcon(ColorSwatch( SWATCH_W, SWATCH_H, mDefaultColor ) ) );
|
||||
setText( "" );
|
||||
}
|
||||
|
||||
|
||||
void ColorButton::setToDefault()
|
||||
{
|
||||
mIsDefault = true;
|
||||
|
||||
mColorNode.setField( false );
|
||||
mColorNode.setColor( mDefaultColor );
|
||||
mColorNode.setKey( "" );
|
||||
|
||||
setIcon( QIcon(ColorSwatch( SWATCH_W, SWATCH_H, mDefaultColor ) ) );
|
||||
setText( "" );
|
||||
}
|
||||
model::ColorNode ColorButton::colorNode()
|
||||
{
|
||||
return mColorNode;
|
||||
}
|
||||
|
||||
|
||||
model::ColorNode ColorButton::colorNode()
|
||||
{
|
||||
return mColorNode;
|
||||
}
|
||||
void ColorButton::setKeys( const merge::Merge* merge,
|
||||
const model::Variables& variables )
|
||||
{
|
||||
mDialog->setKeys( merge, variables );
|
||||
}
|
||||
|
||||
|
||||
void ColorButton::setKeys( const merge::Merge* merge,
|
||||
const model::Variables& variables )
|
||||
{
|
||||
mDialog->setKeys( merge, variables );
|
||||
}
|
||||
void ColorButton::onButtonToggled( bool checked )
|
||||
{
|
||||
if ( checked )
|
||||
{
|
||||
///
|
||||
/// @TODO: improve positioning of dialog -- near edges of screen.
|
||||
///
|
||||
QPoint dialogPos( 0, height() );
|
||||
mDialog->move( mapToGlobal(dialogPos) );
|
||||
|
||||
mDialog->show();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ColorButton::onButtonToggled( bool checked )
|
||||
{
|
||||
if ( checked )
|
||||
{
|
||||
///
|
||||
/// @TODO: improve positioning of dialog -- near edges of screen.
|
||||
///
|
||||
QPoint dialogPos( 0, height() );
|
||||
mDialog->move( mapToGlobal(dialogPos) );
|
||||
|
||||
mDialog->show();
|
||||
}
|
||||
}
|
||||
void ColorButton::onPaletteDialogAccepted()
|
||||
{
|
||||
setChecked( false );
|
||||
}
|
||||
|
||||
|
||||
void ColorButton::onPaletteDialogAccepted()
|
||||
{
|
||||
setChecked( false );
|
||||
}
|
||||
void ColorButton::onPaletteDialogRejected()
|
||||
{
|
||||
setChecked( false );
|
||||
}
|
||||
|
||||
|
||||
void ColorButton::onPaletteDialogRejected()
|
||||
{
|
||||
setChecked( false );
|
||||
}
|
||||
void ColorButton::onPaletteDialogChanged( model::ColorNode colorNode, bool isDefault )
|
||||
{
|
||||
mColorNode = colorNode;
|
||||
mIsDefault = isDefault;
|
||||
|
||||
if ( colorNode.isField() )
|
||||
{
|
||||
setIcon( QIcon() );
|
||||
setText( QString("${%1}").arg( colorNode.key() ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
setIcon( QIcon( ColorSwatch( SWATCH_W, SWATCH_H, colorNode.color() ) ) );
|
||||
setText( "" );
|
||||
}
|
||||
|
||||
void ColorButton::onPaletteDialogChanged( model::ColorNode colorNode, bool isDefault )
|
||||
{
|
||||
mColorNode = colorNode;
|
||||
mIsDefault = isDefault;
|
||||
|
||||
if ( colorNode.isField() )
|
||||
{
|
||||
setIcon( QIcon() );
|
||||
setText( QString("${%1}").arg( colorNode.key() ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
setIcon( QIcon( ColorSwatch( SWATCH_W, SWATCH_H, colorNode.color() ) ) );
|
||||
setText( "" );
|
||||
}
|
||||
|
||||
emit colorChanged();
|
||||
}
|
||||
emit colorChanged();
|
||||
}
|
||||
|
||||
} // namespace glabels
|
||||
|
||||
Reference in New Issue
Block a user