Added similar list to NewLabelDialog.

This commit is contained in:
Jim Evins
2013-11-15 21:58:28 -05:00
parent 932ab5b65b
commit 1f5e555e00
6 changed files with 58 additions and 9 deletions
+22
View File
@@ -42,6 +42,9 @@ namespace gLabels
pageSizeUsRadio->isChecked(),
pageSizeOtherRadio->isChecked() );
similarBrowser->setAttribute(Qt::WA_TranslucentBackground);
similarBrowser->viewport()->setAutoFillBackground(false);
connect( searchEntry, SIGNAL(textChanged(const QString &)),
this, SLOT(searchEntryTextChanged(const QString &)) );
@@ -123,6 +126,25 @@ namespace gLabels
QString layoutString = frame->layoutDescription();
layoutLabel->setText( layoutString );
QStringList list = libglabels::Db::getNameListOfSimilarTemplates( tmplate->name() );
if ( list.isEmpty() )
{
similarLabel->hide();
similarBrowser->hide();
}
else
{
similarLabel->show();
similarBrowser->show();
QString similarListString;
foreach ( QString name, list )
{
similarListString += name + "\n";
}
similarBrowser->setText( similarListString );
}
}
}
+3 -3
View File
@@ -245,9 +245,9 @@
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_13">
<widget class="QLabel" name="similarLabel">
<property name="text">
<string>Similar products:</string>
<string>Similar to:</string>
</property>
</widget>
</item>
@@ -261,7 +261,7 @@
</property>
<property name="maximumSize">
<size>
<width>180</width>
<width>150</width>
<height>16777215</height>
</size>
</property>
+26
View File
@@ -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
+1
View File
@@ -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 );
+5 -5
View File
@@ -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;
+1 -1
View File
@@ -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: