Added similar list to NewLabelDialog.
This commit is contained in:
@@ -411,6 +411,32 @@ namespace libglabels
|
||||
}
|
||||
|
||||
|
||||
QStringList Db::getNameListOfSimilarTemplates( const QString &name )
|
||||
{
|
||||
QStringList list;
|
||||
|
||||
const Template *tmplate1 = lookupTemplateFromName( name );
|
||||
if ( tmplate1 == NULL )
|
||||
{
|
||||
qDebug( "Unknown template name: \"%s\".", qPrintable(name) );
|
||||
return list;
|
||||
}
|
||||
|
||||
foreach (const Template *tmplate2, mTemplates )
|
||||
{
|
||||
if ( tmplate1->name() != tmplate2->name() )
|
||||
{
|
||||
if ( tmplate1->isSimilarTo( tmplate2 ) )
|
||||
{
|
||||
list << tmplate2->name();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
void Db::registerUserTemplate( Template *templat )
|
||||
{
|
||||
// TODO
|
||||
|
||||
@@ -86,6 +86,7 @@ namespace libglabels
|
||||
static const Template *lookupTemplateFromName( const QString &name );
|
||||
static const Template *lookupTemplateFromBrandPart( const QString &brand, const QString &part );
|
||||
static bool isTemplateKnown( const QString &brand, const QString &part );
|
||||
static QStringList getNameListOfSimilarTemplates( const QString &name );
|
||||
|
||||
static void registerUserTemplate( Template *tmplate );
|
||||
static void deleteUserTemplateByName( const QString &name );
|
||||
|
||||
@@ -156,19 +156,19 @@ namespace libglabels
|
||||
}
|
||||
|
||||
|
||||
bool Template::isSimilarTo( const Template &other ) const
|
||||
bool Template::isSimilarTo( const Template *other ) const
|
||||
{
|
||||
// Does page size match?
|
||||
if ( (mPaperId != other.mPaperId) ||
|
||||
(mPageWidth != other.mPageWidth ) ||
|
||||
(mPageHeight != other.mPageHeight ) )
|
||||
if ( (mPaperId != other->mPaperId) ||
|
||||
(mPageWidth != other->mPageWidth ) ||
|
||||
(mPageHeight != other->mPageHeight ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Are frames similar
|
||||
Frame *frame1 = mFrames.first();
|
||||
Frame *frame2 = other.mFrames.first();
|
||||
Frame *frame2 = other->mFrames.first();
|
||||
if ( !frame1->isSimilarTo( frame2 ) )
|
||||
{
|
||||
return false;
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace libglabels
|
||||
bool operator==( const Template &other ) const;
|
||||
|
||||
bool hasCategory( const QString &categoryId ) const;
|
||||
bool isSimilarTo( const Template &other ) const;
|
||||
bool isSimilarTo( const Template *other ) const;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user