2016-08-28 15:10:43 +02:00
# include <QRegularExpression>
# include "commandline/ColorOption.h"
# include "commandline/Parser.h"
using namespace commandline ;
bool ColorOption : : validate ( Parser & parser , QString & value )
{
2017-02-11 22:52:47 +01:00
// Check if we can create the color by name
_color = QColor ( value ) ;
if ( _color . isValid ( ) )
{
return true ;
}
2016-08-28 15:10:43 +02:00
2017-02-11 22:52:47 +01:00
// check if we can create the color by hex RRGGBB getColors
_color = QColor ( QString ( " #%1 " ) . arg ( value ) ) ;
if ( _color . isValid ( ) )
{
return true ;
}
2016-08-28 15:10:43 +02:00
2017-02-11 22:52:47 +01:00
if ( ! parser . isSet ( * this ) )
{
// Return true if no value is available
return true ;
}
2016-08-28 15:10:43 +02:00
2017-02-11 22:52:47 +01:00
_error = QString ( " Invalid color. A color is specified by a six lettered RRGGBB hex getColors or one of the following names: \n \t - %1 " ) . arg ( QColor : : colorNames ( ) . join ( " \n \t - " ) ) ;
2016-08-28 15:10:43 +02:00
2017-02-11 22:52:47 +01:00
return false ;
2016-08-28 15:10:43 +02:00
}