diff --git a/app/NewLabelDialog.cpp b/app/NewLabelDialog.cpp index 1c41624..3cd5c74 100644 --- a/app/NewLabelDialog.cpp +++ b/app/NewLabelDialog.cpp @@ -87,7 +87,42 @@ namespace gLabels { // Set template to preview TemplatePickerItem *tItem = dynamic_cast(selectedItems.first()); - simplePreview->setTemplate( tItem->tmplate() ); + const libglabels::Template *tmplate = tItem->tmplate(); + const libglabels::Frame *frame = tmplate->frames().first(); + + simplePreview->setTemplate( tmplate ); + + const libglabels::Vendor *vendor = libglabels::Db::lookupVendorFromName( tmplate->brand() ); + if ( (vendor != NULL) && (vendor->url() != NULL) ) + { + QString markup = "" + vendor->name() + ""; + vendorLabel->setText( markup ); + } + else + { + vendorLabel->setText( tmplate->brand() ); + } + + if ( tmplate->productUrl() != NULL ) + { + QString markup = "" + tmplate->part() + ""; + partLabel->setText( markup ); + } + else + { + partLabel->setText( tmplate->part() ); + } + + descriptionLabel->setText( tmplate->description() ); + + QString pgSizeString = libglabels::Db::lookupPaperNameFromId( tmplate->paperId() ); + pageSizeLabel->setText( pgSizeString ); + + QString labelSizeString = frame->sizeDescription( libglabels::Units::inch() ); + labelSizeLabel->setText( labelSizeString ); + + QString layoutString = frame->layoutDescription(); + layoutLabel->setText( layoutString ); } } diff --git a/app/ui/NewLabelDialog.ui b/app/ui/NewLabelDialog.ui index ab87740..fa6661d 100644 --- a/app/ui/NewLabelDialog.ui +++ b/app/ui/NewLabelDialog.ui @@ -6,8 +6,8 @@ 0 0 - 1036 - 735 + 958 + 759 @@ -133,7 +133,7 @@ - Preview + Selection info Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft @@ -158,6 +158,129 @@ + + + + + + Vendor: + + + + + + + TextLabel + + + + + + + Part #: + + + + + + + TextLabel + + + + + + + Description: + + + + + + + TextLabel + + + + + + + Page size: + + + + + + + TextLabel + + + + + + + Label size: + + + + + + + TextLabel + + + + + + + Layout: + + + + + + + TextLabel + + + + + + + Similar products: + + + + + + + + 0 + 0 + + + + + 180 + 16777215 + + + + false + + + false + + + QFrame::NoFrame + + + false + + + + + @@ -170,7 +293,7 @@ - Label Orientation + Orientation @@ -253,19 +376,6 @@ - createButton - horizontalSpacer - orientationNormalRadio - orientationRotatedRadio - label - - label - groupBox_2 - groupBox_3 - templatePicker - searchEntry - groupBox - horizontalSpacer diff --git a/libglabels/Frame.h b/libglabels/Frame.h index 9ec87fd..c018081 100644 --- a/libglabels/Frame.h +++ b/libglabels/Frame.h @@ -52,9 +52,9 @@ namespace libglabels inline const QString &id() const { return mId; } inline int nLabels() const { return mNLabels; } - inline const QString &layoutDescription() { return mLayoutDescription; } - inline const QList &layouts() { return mLayouts; } - inline const QList &markups() { return mMarkups; } + inline const QString &layoutDescription() const { return mLayoutDescription; } + inline const QList &layouts() const { return mLayouts; } + inline const QList &markups() const { return mMarkups; } QVector getOrigins() const; @@ -64,7 +64,7 @@ namespace libglabels virtual double w() const = 0; virtual double h() const = 0; - virtual const QString &sizeDescription( Units *units ) = 0; + virtual const QString sizeDescription( const Units *units ) const = 0; virtual bool isSimilarTo( Frame *other ) const = 0; virtual const QPainterPath &path() const = 0; diff --git a/libglabels/FrameCd.cpp b/libglabels/FrameCd.cpp index 7108964..f1a437f 100644 --- a/libglabels/FrameCd.cpp +++ b/libglabels/FrameCd.cpp @@ -29,26 +29,24 @@ namespace libglabels { - const QString &FrameCd::sizeDescription( Units *units ) + const QString FrameCd::sizeDescription( const Units *units ) const { if ( units->id() == "in" ) { QString dStr = StrUtil::formatFraction( 2 * mR1 * units->unitsPerPoint() ); - mSizeDescription = QString().sprintf( "%s %s %s", - qPrintable(dStr), - qPrintable(units->name()), - qPrintable(tr("diameter")) ); + return QString().sprintf( "%s %s %s", + qPrintable(dStr), + qPrintable(units->name()), + qPrintable(tr("diameter")) ); } else { - mSizeDescription = QString().sprintf( "%.5g %s %s", - 2 * mR1 * units->unitsPerPoint(), - qPrintable(units->name()), - qPrintable(tr("diameter")) ); + return QString().sprintf( "%.5g %s %s", + 2 * mR1 * units->unitsPerPoint(), + qPrintable(units->name()), + qPrintable(tr("diameter")) ); } - - return mSizeDescription; } diff --git a/libglabels/FrameCd.h b/libglabels/FrameCd.h index 6eb2f94..f79fa66 100644 --- a/libglabels/FrameCd.h +++ b/libglabels/FrameCd.h @@ -56,7 +56,7 @@ namespace libglabels double w() const { return (mW == 0) ? 2*mR1 : mW; } double h() const { return (mH == 0) ? 2*mR1 : mH; } - const QString &sizeDescription( Units *units ); + const QString sizeDescription( const Units *units ) const; bool isSimilarTo( Frame *other ) const; const QPainterPath &path() const { return mPath; } @@ -71,8 +71,6 @@ namespace libglabels double mH; double mWaste; - QString mSizeDescription; - QPainterPath mPath; }; diff --git a/libglabels/FrameEllipse.cpp b/libglabels/FrameEllipse.cpp index f3f6e0c..09cce89 100644 --- a/libglabels/FrameEllipse.cpp +++ b/libglabels/FrameEllipse.cpp @@ -29,24 +29,24 @@ namespace libglabels { - const QString &FrameEllipse::sizeDescription( Units *units ) + const QString FrameEllipse::sizeDescription( const Units *units ) const { if ( units->id() == "in" ) { QString wStr = StrUtil::formatFraction( mW * units->unitsPerPoint() ); QString hStr = StrUtil::formatFraction( mH * units->unitsPerPoint() ); - mSizeDescription = QString().sprintf( "%s x %s %s", - qPrintable(wStr), - qPrintable(hStr), - qPrintable(units->name()) ); + return QString().sprintf( "%s x %s %s", + qPrintable(wStr), + qPrintable(hStr), + qPrintable(units->name()) ); } else { - mSizeDescription = QString().sprintf( "%.5g x %.5g %s", - mW * units->unitsPerPoint(), - mH * units->unitsPerPoint(), - qPrintable(units->name()) ); + return QString().sprintf( "%.5g x %.5g %s", + mW * units->unitsPerPoint(), + mH * units->unitsPerPoint(), + qPrintable(units->name()) ); } } diff --git a/libglabels/FrameEllipse.h b/libglabels/FrameEllipse.h index 63cedc2..3f58266 100644 --- a/libglabels/FrameEllipse.h +++ b/libglabels/FrameEllipse.h @@ -51,7 +51,7 @@ namespace libglabels double w() const { return mW; } double h() const { return mH; } - const QString &sizeDescription( Units *units ); + const QString sizeDescription( const Units *units ) const; bool isSimilarTo( Frame *other ) const; const QPainterPath &path() const { return mPath; } @@ -62,8 +62,6 @@ namespace libglabels double mH; double mWaste; - QString mSizeDescription; - QPainterPath mPath; }; diff --git a/libglabels/FrameRect.cpp b/libglabels/FrameRect.cpp index 2624e16..8f7de1f 100644 --- a/libglabels/FrameRect.cpp +++ b/libglabels/FrameRect.cpp @@ -29,27 +29,25 @@ namespace libglabels { - const QString &FrameRect::sizeDescription( Units *units ) + const QString FrameRect::sizeDescription( const Units *units ) const { if ( units->id() == "in" ) { QString wStr = StrUtil::formatFraction( mW * units->unitsPerPoint() ); QString hStr = StrUtil::formatFraction( mH * units->unitsPerPoint() ); - mSizeDescription = QString().sprintf( "%s x %s %s", - qPrintable(wStr), - qPrintable(hStr), - qPrintable(units->name()) ); + return QString().sprintf( "%s x %s %s", + qPrintable(wStr), + qPrintable(hStr), + qPrintable(units->name()) ); } else { - mSizeDescription = QString().sprintf( "%.5g x %.5g %s", - mW * units->unitsPerPoint(), - mH * units->unitsPerPoint(), - qPrintable(units->name()) ); + return QString().sprintf( "%.5g x %.5g %s", + mW * units->unitsPerPoint(), + mH * units->unitsPerPoint(), + qPrintable(units->name()) ); } - - return mSizeDescription; } diff --git a/libglabels/FrameRect.h b/libglabels/FrameRect.h index 8fbca4b..3548c37 100644 --- a/libglabels/FrameRect.h +++ b/libglabels/FrameRect.h @@ -56,7 +56,7 @@ namespace libglabels double w() const { return mW; } double h() const { return mH; } - const QString &sizeDescription( Units *units ); + const QString sizeDescription( const Units *units ) const; bool isSimilarTo( Frame *other ) const; const QPainterPath &path() const { return mPath; } @@ -69,8 +69,6 @@ namespace libglabels double mXWaste; double mYWaste; - QString mSizeDescription; - QPainterPath mPath; }; diff --git a/libglabels/FrameRound.cpp b/libglabels/FrameRound.cpp index 2a62012..86804d2 100644 --- a/libglabels/FrameRound.cpp +++ b/libglabels/FrameRound.cpp @@ -29,26 +29,24 @@ namespace libglabels { - const QString &FrameRound::sizeDescription( Units *units ) + const QString FrameRound::sizeDescription( const Units *units ) const { if ( units->id() == "in" ) { QString dStr = StrUtil::formatFraction( 2 * mR * units->unitsPerPoint() ); - mSizeDescription = QString().sprintf( "%s %s %s", - qPrintable(dStr), - qPrintable(units->name()), - qPrintable(tr("diameter")) ); + return QString().sprintf( "%s %s %s", + qPrintable(dStr), + qPrintable(units->name()), + qPrintable(tr("diameter")) ); } else { - mSizeDescription = QString().sprintf( "%.5g %s %s", - 2 * mR * units->unitsPerPoint(), - qPrintable(units->name()), - qPrintable(tr("diameter")) ); + return QString().sprintf( "%.5g %s %s", + 2 * mR * units->unitsPerPoint(), + qPrintable(units->name()), + qPrintable(tr("diameter")) ); } - - return mSizeDescription; } diff --git a/libglabels/FrameRound.h b/libglabels/FrameRound.h index db1b90e..ae501aa 100644 --- a/libglabels/FrameRound.h +++ b/libglabels/FrameRound.h @@ -51,7 +51,7 @@ namespace libglabels double w() const { return 2*mR; } double h() const { return 2*mR; } - const QString &sizeDescription( Units *units ); + const QString sizeDescription( const Units *units ) const; bool isSimilarTo( Frame *other ) const; const QPainterPath &path() const { return mPath; } @@ -61,8 +61,6 @@ namespace libglabels double mR; double mWaste; - QString mSizeDescription; - QPainterPath mPath; }; diff --git a/libglabels/StrUtil.cpp b/libglabels/StrUtil.cpp index 7149c77..78272c3 100644 --- a/libglabels/StrUtil.cpp +++ b/libglabels/StrUtil.cpp @@ -41,7 +41,7 @@ namespace libglabels namespace StrUtil { - QString &formatFraction( double x ) + QString formatFraction( double x ) { int i; double product, remainder; diff --git a/libglabels/StrUtil.h b/libglabels/StrUtil.h index e81fdcb..04bc1c0 100644 --- a/libglabels/StrUtil.h +++ b/libglabels/StrUtil.h @@ -30,7 +30,7 @@ namespace libglabels namespace StrUtil { - QString &formatFraction( double x ); + QString formatFraction( double x ); int comparePartNames( const QString &s1, const QString &s2 );