Improvements to SelectTemplateDialog (#109 and #142)

- Added side pane for product preview and information
- Product selection is done with a separate pushbutton, so that user gets a
  chance to preview the complete product information before committing to the
  selection
- Supports two view modes: Grid View and List View
- View mode is automatically stored in Settings, so it will default to the
  user's prefered mode
- Should address most concerns in #109 and #142
This commit is contained in:
Jaye Evins
2025-05-26 19:23:36 -04:00
parent 43cbc8fc3c
commit 4c0ce1146a
26 changed files with 1073 additions and 376 deletions
+8 -12
View File
@@ -18,6 +18,7 @@
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/
#include "PropertiesView.h"
#include "SelectProductDialog.h"
@@ -100,11 +101,12 @@ namespace glabels
///
void PropertiesView::onLabelSizeChanged()
{
const model::Template* tmplate = mModel->tmplate();
const model::Frame* frame = tmplate->frames().first();
bool isRotated = mModel->rotate();
auto* tmplate = mModel->tmplate();
auto* frame = tmplate->frames().first();
bool isRotated = mModel->rotate();
preview->setTemplate( tmplate );
preview->setShowArrow( true );
preview->setRotate( isRotated );
const model::Vendor* vendor = model::Db::lookupVendorFromName( tmplate->brand() );
@@ -129,15 +131,9 @@ namespace glabels
}
descriptionLabel->setText( tmplate->description() );
QString pgSizeString = model::Db::lookupPaperNameFromId( tmplate->paperId() );
pageSizeLabel->setText( pgSizeString );
QString labelSizeString = frame->sizeDescription( mUnits );
labelSizeLabel->setText( labelSizeString );
QString layoutString = frame->layoutDescription();
layoutLabel->setText( layoutString );
pageSizeLabel->setText( tmplate->paperDescription( mUnits ) );
labelSizeLabel->setText( frame->sizeDescription( mUnits ) );
layoutLabel->setText( frame->layoutDescription() );
QStringList list = model::Db::getNameListOfSimilarTemplates( tmplate->name() );
if ( list.isEmpty() )