Created PropertiesView page.

This commit is contained in:
Jim Evins
2016-03-26 20:30:50 -04:00
parent a6aa0d921f
commit 7d0b7868fe
18 changed files with 1185 additions and 900 deletions
+8 -5
View File
@@ -34,17 +34,18 @@ set (glabels_sources
MergeField.cpp MergeField.cpp
MergePropertyEditor.cpp MergePropertyEditor.cpp
MergeRecord.cpp MergeRecord.cpp
NewLabelDialog.cpp
ObjectEditor.cpp ObjectEditor.cpp
Outline.cpp Outline.cpp
PageRenderer.cpp PageRenderer.cpp
PrintView.cpp PrintView.cpp
PropertiesView.cpp
Preview.cpp Preview.cpp
PreviewOverlayItem.cpp PreviewOverlayItem.cpp
SelectProductDialog.cpp
SimplePreview.cpp
TemplatePicker.cpp TemplatePicker.cpp
TemplatePickerItem.cpp TemplatePickerItem.cpp
TextNode.cpp TextNode.cpp
SimplePreview.cpp
View.cpp View.cpp
XmlLabelCreator.cpp XmlLabelCreator.cpp
XmlLabelParser.cpp XmlLabelParser.cpp
@@ -70,20 +71,22 @@ set (glabels_qobject_headers
MainWindow.h MainWindow.h
Merge.h Merge.h
MergePropertyEditor.h MergePropertyEditor.h
NewLabelDialog.h
ObjectEditor.h ObjectEditor.h
PrintView.h PrintView.h
PropertiesView.h
Preview.h Preview.h
SelectProductDialog.h
SimplePreview.h SimplePreview.h
TemplatePicker.h TemplatePicker.h
View.h View.h
) )
set (glabels_forms set (glabels_forms
ui/NewLabelDialog.ui
ui/ObjectEditor.ui
ui/MergePropertyEditor.ui ui/MergePropertyEditor.ui
ui/ObjectEditor.ui
ui/PrintView.ui ui/PrintView.ui
ui/PropertiesView.ui
ui/SelectProductDialog.ui
) )
set (glabels_resource_files set (glabels_resource_files
+9 -21
View File
@@ -22,7 +22,7 @@
#include "MainWindow.h" #include "MainWindow.h"
#include "LabelModel.h" #include "LabelModel.h"
#include "NewLabelDialog.h" #include "libglabels/Db.h"
#include "XmlLabelParser.h" #include "XmlLabelParser.h"
#include "XmlLabelCreator.h" #include "XmlLabelCreator.h"
#include "FileUtil.h" #include "FileUtil.h"
@@ -40,27 +40,15 @@ namespace glabels
/// ///
void File::newLabel( MainWindow *window ) void File::newLabel( MainWindow *window )
{ {
NewLabelDialog newDialog( window ); // @TODO lookup latest template, if none default based on locale
newDialog.exec(); const libglabels::Template* tmplate = libglabels::Db::lookupTemplateFromBrandPart( "Avery", "5159" );
LabelModel* label = new LabelModel();
label->setTmplate( tmplate );
label->setRotate( false );
const libglabels::Template* tmplate = newDialog.tmplate(); MainWindow *newWindow = new MainWindow();
if ( tmplate ) newWindow->setModel( label );
{ newWindow->show();
LabelModel* label = new LabelModel();
label->setTmplate( tmplate );
label->setRotate( newDialog.rotate() );
if ( window->isEmpty() )
{
window->setModel( label );
}
else
{
MainWindow *newWindow = new MainWindow();
newWindow->setModel( label );
newWindow->show();
}
}
} }
+1 -1
View File
@@ -37,7 +37,7 @@ namespace glabels
Q_OBJECT Q_OBJECT
public: public:
static void newLabel( MainWindow *window ); static void newLabel( MainWindow *window = 0 );
static void open( MainWindow *window ); static void open( MainWindow *window );
static bool save( MainWindow *window ); static bool save( MainWindow *window );
static bool saveAs( MainWindow *window ); static bool saveAs( MainWindow *window );
+15
View File
@@ -33,6 +33,7 @@
#include <QDebug> #include <QDebug>
#include "libglabels/Db.h" #include "libglabels/Db.h"
#include "PropertiesView.h"
#include "View.h" #include "View.h"
#include "ObjectEditor.h" #include "ObjectEditor.h"
#include "MergePropertyEditor.h" #include "MergePropertyEditor.h"
@@ -63,11 +64,13 @@ namespace glabels
createMenus(); createMenus();
createToolBars(); createToolBars();
QWidget* propertiesPage = createPropertiesPage();
QWidget* editorPage = createEditorPage(); QWidget* editorPage = createEditorPage();
QWidget* mergePage = createMergePage(); QWidget* mergePage = createMergePage();
QWidget* printPage = createPrintPage(); QWidget* printPage = createPrintPage();
mNotebook = new QTabWidget(); mNotebook = new QTabWidget();
mNotebook->addTab( propertiesPage, "Properties" );
mNotebook->addTab( editorPage, "Editor" ); mNotebook->addTab( editorPage, "Editor" );
mNotebook->addTab( mergePage, "Merge" ); mNotebook->addTab( mergePage, "Merge" );
mNotebook->addTab( printPage, "Print" ); mNotebook->addTab( printPage, "Print" );
@@ -111,6 +114,7 @@ namespace glabels
void MainWindow::setModel( LabelModel *label ) void MainWindow::setModel( LabelModel *label )
{ {
mModel = label; mModel = label;
mPropertiesView->setModel( mModel );
mView->setModel( mModel ); mView->setModel( mModel );
mObjectEditor->setModel( mModel ); mObjectEditor->setModel( mModel );
mPrintView->setModel( mModel ); mPrintView->setModel( mModel );
@@ -618,6 +622,17 @@ namespace glabels
} }
///
/// Create Properties Page
///
QWidget* MainWindow::createPropertiesPage()
{
mPropertiesView = new PropertiesView();
return mPropertiesView;
}
/// ///
/// Create Editor Page /// Create Editor Page
/// ///
+3
View File
@@ -36,6 +36,7 @@ namespace glabels
{ {
// Forward References // Forward References
class LabelModel; class LabelModel;
class PropertiesView;
class View; class View;
class ObjectEditor; class ObjectEditor;
class MergePropertyEditor; class MergePropertyEditor;
@@ -154,6 +155,7 @@ namespace glabels
void createToolBars(); void createToolBars();
void createStatusBar(); void createStatusBar();
QWidget* createPropertiesPage();
QWidget* createEditorPage(); QWidget* createEditorPage();
QWidget* createMergePage(); QWidget* createMergePage();
QWidget* createPrintPage(); QWidget* createPrintPage();
@@ -200,6 +202,7 @@ namespace glabels
QTabWidget* mNotebook; QTabWidget* mNotebook;
LabelModel* mModel; LabelModel* mModel;
PropertiesView* mPropertiesView;
QScrollArea* mViewScrollArea; QScrollArea* mViewScrollArea;
View* mView; View* mView;
ObjectEditor* mObjectEditor; ObjectEditor* mObjectEditor;
-225
View File
@@ -1,225 +0,0 @@
/* NewLabelDialog.cpp
*
* Copyright (C) 2013-2016 Jim Evins <evins@snaught.com>
*
* This file is part of gLabels-qt.
*
* gLabels-qt is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* gLabels-qt is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/
#include "NewLabelDialog.h"
#include <iostream>
#include "libglabels/Db.h"
#include "TemplatePickerItem.h"
namespace glabels
{
///
/// Constructor
///
NewLabelDialog::NewLabelDialog( QWidget *parent )
: QDialog(parent), mCanceled(false)
{
setupUi( this );
// TODO: Set default based on locale and/or saved preferences
// Perhaps move to checkboxes
pageSizeIsoCheck->setChecked( false );
pageSizeUsCheck->setChecked( true );
pageSizeOtherCheck->setChecked( true );
QList<libglabels::Template*> tmplates = libglabels::Db::templates();
templatePicker->setTemplates( tmplates );
templatePicker->applyFilter( searchEntry->text(),
pageSizeIsoCheck->isChecked(),
pageSizeUsCheck->isChecked(),
pageSizeOtherCheck->isChecked() );
similarBrowser->setAttribute(Qt::WA_TranslucentBackground);
similarBrowser->viewport()->setAutoFillBackground(false);
selectionStackedWidget->setCurrentIndex( 0 );
}
///
/// Get selected template
///
const libglabels::Template* NewLabelDialog::tmplate() const
{
if ( !mCanceled )
{
return templatePicker->selectedTemplate();
}
else
{
return 0;
}
}
///
/// Get rotation selection
///
bool NewLabelDialog::rotate() const
{
return orientationRotatedRadio->isChecked();
}
///
/// Search Entry Text Changed Slot
///
void NewLabelDialog::onSearchEntryTextChanged()
{
templatePicker->applyFilter( searchEntry->text(),
pageSizeIsoCheck->isChecked(),
pageSizeUsCheck->isChecked(),
pageSizeOtherCheck->isChecked() );
}
///
/// Search Entry Text Changed Slot
///
void NewLabelDialog::onSearchClearButtonClicked()
{
searchEntry->setText( "" );
}
///
/// Page Size Check Toggled Slot
///
void NewLabelDialog::onPageSizeCheckToggled()
{
templatePicker->applyFilter( searchEntry->text(),
pageSizeIsoCheck->isChecked(),
pageSizeUsCheck->isChecked(),
pageSizeOtherCheck->isChecked() );
}
///
/// Template Picker Selection Changed Slot
///
void NewLabelDialog::onTemplatePickerSelectionChanged()
{
orientationNormalRadio->setChecked( true );
const libglabels::Template *tmplate = templatePicker->selectedTemplate();
if ( tmplate == NULL )
{
createButton->setEnabled( false );
selectionStackedWidget->setCurrentIndex( 0 );
}
else
{
createButton->setEnabled( true );
selectionStackedWidget->setCurrentIndex( 1 );
const libglabels::Frame *frame = tmplate->frames().first();
simplePreview->setTemplate( tmplate );
simplePreview->setRotate( false );
const libglabels::Vendor *vendor = libglabels::Db::lookupVendorFromName( tmplate->brand() );
if ( (vendor != NULL) && (vendor->url() != NULL) )
{
QString markup = "<a href='" + vendor->url() + "'>" + vendor->name() + "</a>";
vendorLabel->setText( markup );
}
else
{
vendorLabel->setText( tmplate->brand() );
}
if ( tmplate->productUrl() != NULL )
{
QString markup = "<a href='" + tmplate->productUrl() + "'>" + tmplate->part() + "</a>";
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::Distance::Units::IN );
labelSizeLabel->setText( labelSizeString );
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 );
}
orientationGroupBox->setEnabled( frame->w() != frame->h() );
}
}
///
/// Orientation Radio Button Toggled Slot
///
void NewLabelDialog::onOrientationRadioToggled()
{
simplePreview->setRotate( orientationRotatedRadio->isChecked() );
}
///
/// Create Button Clicked Slot
///
void NewLabelDialog::onCreateButtonClicked()
{
close();
}
///
/// Cancel Button Clicked Slot
///
void NewLabelDialog::onCancelButtonClicked()
{
mCanceled = true;
close();
}
}
+193
View File
@@ -0,0 +1,193 @@
/* PropertiesView.cpp
*
* Copyright (C) 2016 Jim Evins <evins@snaught.com>
*
* This file is part of gLabels-qt.
*
* gLabels-qt is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* gLabels-qt is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/
#include "PropertiesView.h"
#include "LabelModel.h"
#include "libglabels/Db.h"
#include "SelectProductDialog.h"
#include <QtDebug>
namespace glabels
{
///
/// Constructor
///
PropertiesView::PropertiesView( QWidget *parent )
: QWidget(parent), mModel(0)
{
setupUi( this );
similarBrowser->setAttribute(Qt::WA_TranslucentBackground);
similarBrowser->viewport()->setAutoFillBackground(false);
}
///
/// Destructor
///
PropertiesView::~PropertiesView()
{
}
///
/// Set Model
///
void PropertiesView::setModel( LabelModel* model )
{
mModel = model;
connect( mModel, SIGNAL(sizeChanged()), this, SLOT(onLabelSizeChanged()) );
onLabelSizeChanged();
}
///
/// Label size changed handler
///
void PropertiesView::onLabelSizeChanged()
{
const libglabels::Template *tmplate = mModel->tmplate();
const libglabels::Frame *frame = tmplate->frames().first();
bool isRotated = mModel->rotate();
preview->setTemplate( tmplate );
preview->setRotate( isRotated );
const libglabels::Vendor *vendor = libglabels::Db::lookupVendorFromName( tmplate->brand() );
if ( (vendor != NULL) && (vendor->url() != NULL) )
{
QString markup = "<a href='" + vendor->url() + "'>" + vendor->name() + "</a>";
vendorLabel->setText( markup );
}
else
{
vendorLabel->setText( tmplate->brand() );
}
if ( tmplate->productUrl() != NULL )
{
QString markup = "<a href='" + tmplate->productUrl() + "'>" + tmplate->part() + "</a>";
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::Distance::Units::IN );
labelSizeLabel->setText( labelSizeString );
QString layoutString = frame->layoutDescription();
layoutLabel->setText( layoutString );
QStringList list = libglabels::Db::getNameListOfSimilarTemplates( tmplate->name() );
if ( list.isEmpty() )
{
similarProductsGroupBox->hide();
similarProductsNullBox->show();
}
else
{
similarProductsGroupBox->show();
similarProductsNullBox->hide();
QString similarListString;
foreach ( QString name, list )
{
similarListString += name + "\n";
}
similarBrowser->setText( similarListString );
}
orientationCombo->setEnabled( frame->w() != frame->h() );
if ( frame->w() == frame->h() )
{
orientationCombo->setCurrentIndex(0);
}
else if ( frame->w() > frame->h() )
{
orientationCombo->setCurrentIndex( isRotated ? 1 : 0 );
}
else
{
orientationCombo->setCurrentIndex( isRotated ? 0 : 1 );
}
}
///
/// Form changed handler
///
void PropertiesView::onFormChanged()
{
const libglabels::Template *tmplate = mModel->tmplate();
const libglabels::Frame *frame = tmplate->frames().first();
if ( frame->w() == frame->h() )
{
mModel->setRotate( false );
}
else if ( frame->w() > frame->h() )
{
int index = orientationCombo->currentIndex();
mModel->setRotate( index == 1 );
}
else
{
int index = orientationCombo->currentIndex();
mModel->setRotate( index == 0 );
}
}
///
/// Change Product Button Clicked handler
///
void PropertiesView::onChangeProductButtonClicked()
{
SelectProductDialog selectProductDialog( this );
selectProductDialog.exec();
const libglabels::Template* tmplate = selectProductDialog.tmplate();
if ( tmplate )
{
mModel->setTmplate( tmplate );
// Don't rotate circular or round labels
const libglabels::Frame *frame = tmplate->frames().first();
if ( frame->w() == frame->h() )
{
mModel->setRotate( false );
}
}
}
}
+73
View File
@@ -0,0 +1,73 @@
/* PropertiesView.h
*
* Copyright (C) 2016 Jim Evins <evins@snaught.com>
*
* This file is part of gLabels-qt.
*
* gLabels-qt is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* gLabels-qt is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef glabels_PropertiesView_h
#define glabels_PropertiesView_h
#include "ui_PropertiesView.h"
namespace glabels
{
class LabelModel; // Forward reference
///
/// Properties View Widget
///
class PropertiesView : public QWidget, public Ui_PropertiesView
{
Q_OBJECT
/////////////////////////////////
// Life Cycle
/////////////////////////////////
public:
PropertiesView( QWidget *parent = 0 );
~PropertiesView();
/////////////////////////////////
// Public methods
/////////////////////////////////
void setModel( LabelModel* model );
/////////////////////////////////
// Slots
/////////////////////////////////
private slots:
void onLabelSizeChanged();
void onFormChanged();
void onChangeProductButtonClicked();
/////////////////////////////////
// Private Data
/////////////////////////////////
private:
LabelModel* mModel;
};
}
#endif // glabels_PropertiesView_h
+133
View File
@@ -0,0 +1,133 @@
/* SelectProductDialog.cpp
*
* Copyright (C) 2013-2016 Jim Evins <evins@snaught.com>
*
* This file is part of gLabels-qt.
*
* gLabels-qt is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* gLabels-qt is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/
#include "SelectProductDialog.h"
#include <iostream>
#include "libglabels/Db.h"
#include "TemplatePickerItem.h"
namespace glabels
{
///
/// Constructor
///
SelectProductDialog::SelectProductDialog( QWidget *parent )
: QDialog(parent), mCanceled(false)
{
setupUi( this );
// TODO: Set default based on locale and/or saved preferences
// Perhaps move to checkboxes
pageSizeIsoCheck->setChecked( false );
pageSizeUsCheck->setChecked( true );
pageSizeOtherCheck->setChecked( true );
QList<libglabels::Template*> tmplates = libglabels::Db::templates();
templatePicker->setTemplates( tmplates );
templatePicker->applyFilter( searchEntry->text(),
pageSizeIsoCheck->isChecked(),
pageSizeUsCheck->isChecked(),
pageSizeOtherCheck->isChecked() );
}
///
/// Get selected template
///
const libglabels::Template* SelectProductDialog::tmplate() const
{
if ( !mCanceled )
{
return templatePicker->selectedTemplate();
}
else
{
return 0;
}
}
///
/// Search Entry Text Changed Slot
///
void SelectProductDialog::onSearchEntryTextChanged()
{
templatePicker->applyFilter( searchEntry->text(),
pageSizeIsoCheck->isChecked(),
pageSizeUsCheck->isChecked(),
pageSizeOtherCheck->isChecked() );
}
///
/// Search Entry Text Changed Slot
///
void SelectProductDialog::onSearchClearButtonClicked()
{
searchEntry->setText( "" );
}
///
/// Page Size Check Toggled Slot
///
void SelectProductDialog::onPageSizeCheckToggled()
{
templatePicker->applyFilter( searchEntry->text(),
pageSizeIsoCheck->isChecked(),
pageSizeUsCheck->isChecked(),
pageSizeOtherCheck->isChecked() );
}
///
/// Template Picker Selection Changed Slot
///
void SelectProductDialog::onTemplatePickerSelectionChanged()
{
const libglabels::Template *tmplate = templatePicker->selectedTemplate();
selectButton->setEnabled( tmplate != NULL );
}
///
/// Select Button Clicked Slot
///
void SelectProductDialog::onSelectButtonClicked()
{
close();
}
///
/// Cancel Button Clicked Slot
///
void SelectProductDialog::onCancelButtonClicked()
{
mCanceled = true;
close();
}
}
@@ -1,6 +1,6 @@
/* NewLabelDialog.h /* SelectProductDialog.h
* *
* Copyright (C) 2013 Jim Evins <evins@snaught.com> * Copyright (C) 2013-2016 Jim Evins <evins@snaught.com>
* *
* This file is part of gLabels-qt. * This file is part of gLabels-qt.
* *
@@ -18,10 +18,10 @@
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>. * along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef glabels_NewLabelDialog_h #ifndef glabels_SelectProductDialog_h
#define glabels_NewLabelDialog_h #define glabels_SelectProductDialog_h
#include "ui_NewLabelDialog.h" #include "ui_SelectProductDialog.h"
namespace glabels namespace glabels
@@ -30,7 +30,7 @@ namespace glabels
/// ///
/// New Label Dialog Widget /// New Label Dialog Widget
/// ///
class NewLabelDialog : public QDialog, public Ui_NewLabelDialog class SelectProductDialog : public QDialog, public Ui_SelectProductDialog
{ {
Q_OBJECT Q_OBJECT
@@ -39,14 +39,13 @@ namespace glabels
// Life Cycle // Life Cycle
///////////////////////////////// /////////////////////////////////
public: public:
NewLabelDialog( QWidget *parent = 0 ); SelectProductDialog( QWidget *parent = 0 );
///////////////////////////////// /////////////////////////////////
// Accessors // Accessors
///////////////////////////////// /////////////////////////////////
const libglabels::Template* tmplate() const; const libglabels::Template* tmplate() const;
bool rotate() const;
///////////////////////////////// /////////////////////////////////
@@ -57,8 +56,7 @@ namespace glabels
void onSearchClearButtonClicked(); void onSearchClearButtonClicked();
void onPageSizeCheckToggled(); void onPageSizeCheckToggled();
void onTemplatePickerSelectionChanged(); void onTemplatePickerSelectionChanged();
void onOrientationRadioToggled(); void onSelectButtonClicked();
void onCreateButtonClicked();
void onCancelButtonClicked(); void onCancelButtonClicked();
@@ -72,4 +70,4 @@ namespace glabels
} }
#endif // glabels_NewLabelDialog_h #endif // glabels_SelectProductDialog_h
+3 -4
View File
@@ -1,6 +1,6 @@
/* glabels_main.cpp /* glabels_main.cpp
* *
* Copyright (C) 2011 Jim Evins <evins@snaught.com> * Copyright (C) 2013-2016 Jim Evins <evins@snaught.com>
* *
* This file is part of gLabels-qt. * This file is part of gLabels-qt.
* *
@@ -21,7 +21,7 @@
#include <QApplication> #include <QApplication>
#include "MainWindow.h" #include "File.h"
#include "libglabels/Db.h" #include "libglabels/Db.h"
using namespace glabels; using namespace glabels;
@@ -46,8 +46,7 @@ int main( int argc, char **argv )
#endif #endif
///////////////////////////////// /////////////////////////////////
MainWindow mainWin; File::newLabel();
mainWin.show();
return app.exec(); return app.exec();
} }
+3
View File
@@ -66,6 +66,9 @@
<file>icons/24x24/actions/fallback-zoom-out.png</file> <file>icons/24x24/actions/fallback-zoom-out.png</file>
<file>icons/24x24/apps/glabels.png</file> <file>icons/24x24/apps/glabels.png</file>
<file>icons/32x32/apps/glabels.png</file> <file>icons/32x32/apps/glabels.png</file>
<file>icons/32x32/actions/horizontal-orientation.png</file>
<file>icons/32x32/actions/select-product.png</file>
<file>icons/32x32/actions/vertical-orientation.png</file>
<file>icons/48x48/apps/glabels.png</file> <file>icons/48x48/apps/glabels.png</file>
<file>icons/scalable/apps/glabels.svg</file> <file>icons/scalable/apps/glabels.svg</file>
</qresource> </qresource>
Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

-633
View File
@@ -1,633 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>NewLabelDialog</class>
<widget class="QDialog" name="NewLabelDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>991</width>
<height>720</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Search</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QLineEdit" name="searchEntry">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="placeholderText">
<string>Search</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="searchClearButton">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/icons/16x16/actions/edit-clear.png</normaloff>:/icons/16x16/actions/edit-clear.png</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>146</width>
<height>87</height>
</size>
</property>
<property name="font">
<font>
<pointsize>9</pointsize>
</font>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="title">
<string>Page size</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QCheckBox" name="pageSizeIsoCheck">
<property name="text">
<string>ISO sizes</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="pageSizeUsCheck">
<property name="text">
<string>US sizes</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="pageSizeOtherCheck">
<property name="text">
<string>Other</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="glabels::TemplatePicker" name="templatePicker">
<property name="showDropIndicator" stdset="0">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QStackedWidget" name="selectionStackedWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="page">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<layout class="QVBoxLayout" name="verticalLayout_6">
<property name="leftMargin">
<number>12</number>
</property>
<property name="topMargin">
<number>9</number>
</property>
<item>
<widget class="QLabel" name="label_2">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>No selection</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<property name="sizeConstraint">
<enum>QLayout::SetFixedSize</enum>
</property>
<property name="leftMargin">
<number>12</number>
</property>
<item>
<widget class="glabels::SimplePreview" name="simplePreview">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>250</width>
<height>350</height>
</size>
</property>
</widget>
</item>
<item>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Vendor:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="vendorLabel">
<property name="text">
<string notr="true">TextLabel</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Part #:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="partLabel">
<property name="text">
<string notr="true">TextLabel</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Description:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="descriptionLabel">
<property name="text">
<string notr="true">TextLabel</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Page size:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="pageSizeLabel">
<property name="text">
<string notr="true">TextLabel</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Label size:</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="labelSizeLabel">
<property name="text">
<string notr="true">TextLabel</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Layout:</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="layoutLabel">
<property name="text">
<string notr="true">TextLabel</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="similarLabel">
<property name="text">
<string>Similar to:</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QTextBrowser" name="similarBrowser">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>150</width>
<height>16777215</height>
</size>
</property>
<property name="acceptDrops">
<bool>false</bool>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="openLinks">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="orientationGroupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Orientation</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QRadioButton" name="orientationNormalRadio">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Normal</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="orientationRotatedRadio">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Rotated</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="cancelButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="createButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>C&amp;reate</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>glabels::TemplatePicker</class>
<extends>QListWidget</extends>
<header>TemplatePicker.h</header>
</customwidget>
<customwidget>
<class>glabels::SimplePreview</class>
<extends>QGraphicsView</extends>
<header>SimplePreview.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../icons.qrc"/>
</resources>
<connections>
<connection>
<sender>searchEntry</sender>
<signal>textChanged(QString)</signal>
<receiver>NewLabelDialog</receiver>
<slot>onSearchEntryTextChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>69</x>
<y>48</y>
</hint>
<hint type="destinationlabel">
<x>2</x>
<y>53</y>
</hint>
</hints>
</connection>
<connection>
<sender>searchClearButton</sender>
<signal>clicked()</signal>
<receiver>NewLabelDialog</receiver>
<slot>onSearchClearButtonClicked()</slot>
<hints>
<hint type="sourcelabel">
<x>177</x>
<y>52</y>
</hint>
<hint type="destinationlabel">
<x>190</x>
<y>7</y>
</hint>
</hints>
</connection>
<connection>
<sender>pageSizeIsoCheck</sender>
<signal>toggled(bool)</signal>
<receiver>NewLabelDialog</receiver>
<slot>onPageSizeCheckToggled()</slot>
<hints>
<hint type="sourcelabel">
<x>78</x>
<y>116</y>
</hint>
<hint type="destinationlabel">
<x>3</x>
<y>110</y>
</hint>
</hints>
</connection>
<connection>
<sender>pageSizeUsCheck</sender>
<signal>toggled(bool)</signal>
<receiver>NewLabelDialog</receiver>
<slot>onPageSizeCheckToggled()</slot>
<hints>
<hint type="sourcelabel">
<x>52</x>
<y>145</y>
</hint>
<hint type="destinationlabel">
<x>8</x>
<y>144</y>
</hint>
</hints>
</connection>
<connection>
<sender>pageSizeOtherCheck</sender>
<signal>toggled(bool)</signal>
<receiver>NewLabelDialog</receiver>
<slot>onPageSizeCheckToggled()</slot>
<hints>
<hint type="sourcelabel">
<x>37</x>
<y>170</y>
</hint>
<hint type="destinationlabel">
<x>10</x>
<y>188</y>
</hint>
</hints>
</connection>
<connection>
<sender>templatePicker</sender>
<signal>itemSelectionChanged()</signal>
<receiver>NewLabelDialog</receiver>
<slot>onTemplatePickerSelectionChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>232</x>
<y>550</y>
</hint>
<hint type="destinationlabel">
<x>244</x>
<y>697</y>
</hint>
</hints>
</connection>
<connection>
<sender>orientationRotatedRadio</sender>
<signal>toggled(bool)</signal>
<receiver>NewLabelDialog</receiver>
<slot>onOrientationRadioToggled()</slot>
<hints>
<hint type="sourcelabel">
<x>901</x>
<y>637</y>
</hint>
<hint type="destinationlabel">
<x>982</x>
<y>617</y>
</hint>
</hints>
</connection>
<connection>
<sender>orientationNormalRadio</sender>
<signal>toggled(bool)</signal>
<receiver>NewLabelDialog</receiver>
<slot>onOrientationRadioToggled()</slot>
<hints>
<hint type="sourcelabel">
<x>807</x>
<y>644</y>
</hint>
<hint type="destinationlabel">
<x>982</x>
<y>592</y>
</hint>
</hints>
</connection>
<connection>
<sender>createButton</sender>
<signal>clicked()</signal>
<receiver>NewLabelDialog</receiver>
<slot>onCreateButtonClicked()</slot>
<hints>
<hint type="sourcelabel">
<x>951</x>
<y>699</y>
</hint>
<hint type="destinationlabel">
<x>985</x>
<y>671</y>
</hint>
</hints>
</connection>
<connection>
<sender>cancelButton</sender>
<signal>clicked()</signal>
<receiver>NewLabelDialog</receiver>
<slot>onCancelButtonClicked()</slot>
<hints>
<hint type="sourcelabel">
<x>837</x>
<y>692</y>
</hint>
<hint type="destinationlabel">
<x>767</x>
<y>704</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>onSearchClearButtonClicked()</slot>
<slot>onPageSizeCheckToggled()</slot>
<slot>onTemplatePickerSelectionChanged()</slot>
<slot>onOrientationRadioToggled()</slot>
<slot>onCreateButtonClicked()</slot>
<slot>onSearchEntryTextChanged()</slot>
<slot>onCancelButtonClicked()</slot>
</slots>
</ui>
+403
View File
@@ -0,0 +1,403 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PropertiesView</class>
<widget class="QWidget" name="PropertiesView">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>793</width>
<height>769</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="4">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="glabels::SimplePreview" name="preview">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="productGroupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="title">
<string>Product</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Vendor:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="vendorLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Part #:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="partLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Description:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="descriptionLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_7">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Page size:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="pageSizeLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_9">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Label size:</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="labelSizeLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_11">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Layout:</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="layoutLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="changeProductButton">
<property name="styleSheet">
<string notr="true">text-align:left; padding:3px;</string>
</property>
<property name="text">
<string>Select another product</string>
</property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/icons/32x32/actions/select-product.png</normaloff>:/icons/32x32/actions/select-product.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="orientationGroupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Orientation</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QComboBox" name="orientationCombo">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<item>
<property name="text">
<string>Horizontal orientation</string>
</property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/icons/32x32/actions/horizontal-orientation.png</normaloff>:/icons/32x32/actions/horizontal-orientation.png</iconset>
</property>
</item>
<item>
<property name="text">
<string>Vertical orientation</string>
</property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/icons/32x32/actions/vertical-orientation.png</normaloff>:/icons/32x32/actions/vertical-orientation.png</iconset>
</property>
</item>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="similarProductsGroupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Similar Products</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<widget class="QTextBrowser" name="similarBrowser">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="similarProductsNullBox" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>glabels::SimplePreview</class>
<extends>QGraphicsView</extends>
<header>SimplePreview.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources>
<include location="../icons.qrc"/>
</resources>
<connections>
<connection>
<sender>orientationCombo</sender>
<signal>currentIndexChanged(int)</signal>
<receiver>PropertiesView</receiver>
<slot>onFormChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>671</x>
<y>283</y>
</hint>
<hint type="destinationlabel">
<x>723</x>
<y>285</y>
</hint>
</hints>
</connection>
<connection>
<sender>changeProductButton</sender>
<signal>clicked()</signal>
<receiver>PropertiesView</receiver>
<slot>onChangeProductButtonClicked()</slot>
<hints>
<hint type="sourcelabel">
<x>684</x>
<y>192</y>
</hint>
<hint type="destinationlabel">
<x>728</x>
<y>201</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>onChangeProductButtonClicked()</slot>
<slot>onFormChanged()</slot>
</slots>
</ui>
+332
View File
@@ -0,0 +1,332 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SelectProductDialog</class>
<widget class="QDialog" name="SelectProductDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>690</width>
<height>720</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Search</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QLineEdit" name="searchEntry">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="placeholderText">
<string>Search</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="searchClearButton">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/icons/16x16/actions/edit-clear.png</normaloff>:/icons/16x16/actions/edit-clear.png</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>146</width>
<height>87</height>
</size>
</property>
<property name="font">
<font>
<pointsize>9</pointsize>
</font>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="title">
<string>Page size</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QCheckBox" name="pageSizeIsoCheck">
<property name="text">
<string>ISO sizes</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="pageSizeUsCheck">
<property name="text">
<string>US sizes</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="pageSizeOtherCheck">
<property name="text">
<string>Other</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="glabels::TemplatePicker" name="templatePicker">
<property name="showDropIndicator" stdset="0">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="cancelButton">
<property name="text">
<string>&amp;Cancel</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="selectButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&amp;Select</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>glabels::TemplatePicker</class>
<extends>QListWidget</extends>
<header>TemplatePicker.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../icons.qrc"/>
</resources>
<connections>
<connection>
<sender>searchEntry</sender>
<signal>textChanged(QString)</signal>
<receiver>SelectProductDialog</receiver>
<slot>onSearchEntryTextChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>69</x>
<y>48</y>
</hint>
<hint type="destinationlabel">
<x>2</x>
<y>53</y>
</hint>
</hints>
</connection>
<connection>
<sender>searchClearButton</sender>
<signal>clicked()</signal>
<receiver>SelectProductDialog</receiver>
<slot>onSearchClearButtonClicked()</slot>
<hints>
<hint type="sourcelabel">
<x>177</x>
<y>52</y>
</hint>
<hint type="destinationlabel">
<x>190</x>
<y>7</y>
</hint>
</hints>
</connection>
<connection>
<sender>pageSizeIsoCheck</sender>
<signal>toggled(bool)</signal>
<receiver>SelectProductDialog</receiver>
<slot>onPageSizeCheckToggled()</slot>
<hints>
<hint type="sourcelabel">
<x>78</x>
<y>116</y>
</hint>
<hint type="destinationlabel">
<x>3</x>
<y>110</y>
</hint>
</hints>
</connection>
<connection>
<sender>pageSizeUsCheck</sender>
<signal>toggled(bool)</signal>
<receiver>SelectProductDialog</receiver>
<slot>onPageSizeCheckToggled()</slot>
<hints>
<hint type="sourcelabel">
<x>52</x>
<y>145</y>
</hint>
<hint type="destinationlabel">
<x>8</x>
<y>144</y>
</hint>
</hints>
</connection>
<connection>
<sender>pageSizeOtherCheck</sender>
<signal>toggled(bool)</signal>
<receiver>SelectProductDialog</receiver>
<slot>onPageSizeCheckToggled()</slot>
<hints>
<hint type="sourcelabel">
<x>37</x>
<y>170</y>
</hint>
<hint type="destinationlabel">
<x>10</x>
<y>188</y>
</hint>
</hints>
</connection>
<connection>
<sender>templatePicker</sender>
<signal>itemSelectionChanged()</signal>
<receiver>SelectProductDialog</receiver>
<slot>onTemplatePickerSelectionChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>232</x>
<y>550</y>
</hint>
<hint type="destinationlabel">
<x>244</x>
<y>697</y>
</hint>
</hints>
</connection>
<connection>
<sender>cancelButton</sender>
<signal>clicked()</signal>
<receiver>SelectProductDialog</receiver>
<slot>onCancelButtonClicked()</slot>
<hints>
<hint type="sourcelabel">
<x>587</x>
<y>708</y>
</hint>
<hint type="destinationlabel">
<x>689</x>
<y>704</y>
</hint>
</hints>
</connection>
<connection>
<sender>selectButton</sender>
<signal>clicked()</signal>
<receiver>SelectProductDialog</receiver>
<slot>onSelectButtonClicked()</slot>
<hints>
<hint type="sourcelabel">
<x>660</x>
<y>689</y>
</hint>
<hint type="destinationlabel">
<x>687</x>
<y>682</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>onSearchClearButtonClicked()</slot>
<slot>onPageSizeCheckToggled()</slot>
<slot>onTemplatePickerSelectionChanged()</slot>
<slot>onOrientationRadioToggled()</slot>
<slot>onSearchEntryTextChanged()</slot>
<slot>onCancelButtonClicked()</slot>
<slot>onSelectButtonClicked()</slot>
</slots>
</ui>