Implemented TemplateDesigner.
@@ -83,6 +83,7 @@ find_package (Qt5Test 5.4 QUIET)
|
||||
# (not recommended -- only for testing -- also not portable)
|
||||
#
|
||||
#add_compile_options("-Wall" "-Werror" "-Wpedantic")
|
||||
add_compile_options("-g")
|
||||
|
||||
|
||||
#=======================================
|
||||
|
||||
@@ -25,10 +25,8 @@ gLabels-qt is the development version of the next major version of gLabels (4.0)
|
||||
gLabels-qt has been under off-and-on development for several years..
|
||||
It is still missing several features to bring it in parity with glabels-3.4. These include
|
||||
|
||||
- Batch mode
|
||||
- Compatability with older glabels files
|
||||
- Custom product templates designer
|
||||
- Online manual
|
||||
- Compatability with older glabels project files
|
||||
- An online manual
|
||||
|
||||
|
||||
## Download
|
||||
|
||||
@@ -7,9 +7,9 @@ This document is a reference for manually creating *gLabels* product templates.
|
||||
|
||||
|
||||
Location | Description
|
||||
-----------------------------------------|-----------------------------------------
|
||||
${prefix}/share/libglabels-qt/templates/ | Predefined templates distributed with glabels.
|
||||
${XDG_CONFIG_HOME}/libglabels/templates | User defined templates created with the gLabels Template Designer.
|
||||
------------------------------------------|-----------------------------------------
|
||||
${prefix}/share/glabels-qt/templates/ | Predefined templates distributed with glabels.
|
||||
${XDG_CONFIG_HOME}/glabels.org/glabels-qt | User defined templates created with the gLabels Product Template Designer. **Do not place manually created templates here!**
|
||||
${HOME}/.glabels | Manually created templates should be placed here.
|
||||
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ set (glabels_sources
|
||||
SelectProductDialog.cpp
|
||||
SimplePreview.cpp
|
||||
StartupView.cpp
|
||||
TemplateDesigner.cpp
|
||||
TemplatePicker.cpp
|
||||
TemplatePickerItem.cpp
|
||||
UndoRedoModel.cpp
|
||||
@@ -61,6 +62,7 @@ set (glabels_qobject_headers
|
||||
SelectProductDialog.h
|
||||
SimplePreview.h
|
||||
StartupView.h
|
||||
TemplateDesigner.h
|
||||
TemplatePicker.h
|
||||
UndoRedoModel.h
|
||||
)
|
||||
@@ -74,6 +76,18 @@ set (glabels_forms
|
||||
ui/PropertiesView.ui
|
||||
ui/SelectProductDialog.ui
|
||||
ui/StartupView.ui
|
||||
ui/TemplateDesignerIntroPage.ui
|
||||
ui/TemplateDesignerNamePage.ui
|
||||
ui/TemplateDesignerPageSizePage.ui
|
||||
ui/TemplateDesignerShapePage.ui
|
||||
ui/TemplateDesignerRectPage.ui
|
||||
ui/TemplateDesignerRoundPage.ui
|
||||
ui/TemplateDesignerEllipsePage.ui
|
||||
ui/TemplateDesignerCdPage.ui
|
||||
ui/TemplateDesignerNLayoutsPage.ui
|
||||
ui/TemplateDesignerOneLayoutPage.ui
|
||||
ui/TemplateDesignerTwoLayoutPage.ui
|
||||
ui/TemplateDesignerApplyPage.ui
|
||||
)
|
||||
|
||||
set (glabels_resource_files
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
#include "MainWindow.h"
|
||||
#include "SelectProductDialog.h"
|
||||
#include "TemplateDesigner.h"
|
||||
|
||||
#include "model/FileUtil.h"
|
||||
#include "model/Model.h"
|
||||
@@ -221,6 +222,16 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Template Designer
|
||||
///
|
||||
void File::templateDesigner( MainWindow *window )
|
||||
{
|
||||
TemplateDesigner dialog( window );
|
||||
dialog.exec();
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Close file
|
||||
///
|
||||
|
||||
@@ -46,6 +46,7 @@ namespace glabels
|
||||
static void open( MainWindow *window );
|
||||
static bool save( MainWindow *window );
|
||||
static bool saveAs( MainWindow *window );
|
||||
static void templateDesigner( MainWindow *window );
|
||||
static void close( MainWindow *window );
|
||||
static void exit();
|
||||
|
||||
|
||||
@@ -246,7 +246,7 @@ namespace glabels
|
||||
fileSaveAsAction->setStatusTip( tr("Save current gLabels project to a different name") );
|
||||
connect( fileSaveAsAction, SIGNAL(triggered()), this, SLOT(fileSaveAs()) );
|
||||
|
||||
fileTemplateDesignerAction = new QAction( tr("Template &Designer..."), this );
|
||||
fileTemplateDesignerAction = new QAction( tr("Product Template &Designer..."), this );
|
||||
fileTemplateDesignerAction->setStatusTip( tr("Create custom templates") );
|
||||
connect( fileTemplateDesignerAction, SIGNAL(triggered()), this, SLOT(fileTemplateDesigner()) );
|
||||
|
||||
@@ -1041,7 +1041,7 @@ namespace glabels
|
||||
///
|
||||
void MainWindow::fileTemplateDesigner()
|
||||
{
|
||||
qDebug() << "ACTION: file->Template Designer";
|
||||
File::templateDesigner( this );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,289 @@
|
||||
/* TemplateDesigner.h
|
||||
*
|
||||
* Copyright (C) 2018 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 TemplateDesigner_h
|
||||
#define TemplateDesigner_h
|
||||
|
||||
|
||||
#include "ui_TemplateDesignerIntroPage.h"
|
||||
#include "ui_TemplateDesignerNamePage.h"
|
||||
#include "ui_TemplateDesignerPageSizePage.h"
|
||||
#include "ui_TemplateDesignerShapePage.h"
|
||||
#include "ui_TemplateDesignerRectPage.h"
|
||||
#include "ui_TemplateDesignerRoundPage.h"
|
||||
#include "ui_TemplateDesignerEllipsePage.h"
|
||||
#include "ui_TemplateDesignerCdPage.h"
|
||||
#include "ui_TemplateDesignerNLayoutsPage.h"
|
||||
#include "ui_TemplateDesignerOneLayoutPage.h"
|
||||
#include "ui_TemplateDesignerTwoLayoutPage.h"
|
||||
#include "ui_TemplateDesignerApplyPage.h"
|
||||
|
||||
#include "model/Template.h"
|
||||
|
||||
#include <QWizard>
|
||||
#include <QWizardPage>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
///
|
||||
/// About Dialog Widget
|
||||
///
|
||||
class TemplateDesigner : public QWizard
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
// My subpages are my friends :-)
|
||||
friend class TemplateDesignerIntroPage;
|
||||
friend class TemplateDesignerNamePage;
|
||||
friend class TemplateDesignerPageSizePage;
|
||||
friend class TemplateDesignerShapePage;
|
||||
friend class TemplateDesignerRectPage;
|
||||
friend class TemplateDesignerRoundPage;
|
||||
friend class TemplateDesignerEllipsePage;
|
||||
friend class TemplateDesignerCdPage;
|
||||
friend class TemplateDesignerNLayoutsPage;
|
||||
friend class TemplateDesignerOneLayoutPage;
|
||||
friend class TemplateDesignerTwoLayoutPage;
|
||||
friend class TemplateDesignerApplyPage;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TemplateDesigner( QWidget *parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
int nextId() const override;
|
||||
|
||||
double itemWidth();
|
||||
double itemHeight();
|
||||
double itemXWaste();
|
||||
double itemYWaste();
|
||||
model::Template* buildTemplate();
|
||||
void printTestSheet();
|
||||
void loadFromTemplate( const model::Template* tmplate );
|
||||
bool isBasedOnCopy();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
bool mIsBasedOnCopy;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Intro Page
|
||||
//
|
||||
class TemplateDesignerIntroPage : public QWizardPage, public Ui::TemplateDesignerIntroPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TemplateDesignerIntroPage( QWidget* parent = nullptr );
|
||||
|
||||
bool isComplete() const override;
|
||||
|
||||
private slots:
|
||||
void onCopyButtonClicked();
|
||||
void onNewButtonClicked();
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Name Page
|
||||
//
|
||||
class TemplateDesignerNamePage : public QWizardPage, public Ui::TemplateDesignerNamePage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TemplateDesignerNamePage( QWidget* parent = nullptr );
|
||||
|
||||
bool isComplete() const override;
|
||||
|
||||
private slots:
|
||||
void onChanged();
|
||||
|
||||
private:
|
||||
bool mCanContinue = false;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Page Size Page
|
||||
//
|
||||
class TemplateDesignerPageSizePage : public QWizardPage, public Ui::TemplateDesignerPageSizePage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TemplateDesignerPageSizePage( QWidget* parent = nullptr );
|
||||
|
||||
void initializePage() override;
|
||||
void cleanupPage() override;
|
||||
|
||||
private slots:
|
||||
void onComboChanged();
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Shape Page
|
||||
//
|
||||
class TemplateDesignerShapePage : public QWizardPage, public Ui::TemplateDesignerShapePage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TemplateDesignerShapePage( QWidget* parent = nullptr );
|
||||
|
||||
void initializePage() override;
|
||||
void cleanupPage() override;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Rect Page
|
||||
//
|
||||
class TemplateDesignerRectPage : public QWizardPage, public Ui::TemplateDesignerRectPage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TemplateDesignerRectPage( QWidget* parent = nullptr );
|
||||
|
||||
void initializePage() override;
|
||||
void cleanupPage() override;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Round Page
|
||||
//
|
||||
class TemplateDesignerRoundPage : public QWizardPage, public Ui::TemplateDesignerRoundPage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TemplateDesignerRoundPage( QWidget* parent = nullptr );
|
||||
|
||||
void initializePage() override;
|
||||
void cleanupPage() override;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Ellipse Page
|
||||
//
|
||||
class TemplateDesignerEllipsePage : public QWizardPage, public Ui::TemplateDesignerEllipsePage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TemplateDesignerEllipsePage( QWidget* parent = nullptr );
|
||||
|
||||
void initializePage() override;
|
||||
void cleanupPage() override;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Cd Page
|
||||
//
|
||||
class TemplateDesignerCdPage : public QWizardPage, public Ui::TemplateDesignerCdPage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TemplateDesignerCdPage( QWidget* parent = nullptr );
|
||||
|
||||
void initializePage() override;
|
||||
void cleanupPage() override;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// NLayouts Page
|
||||
//
|
||||
class TemplateDesignerNLayoutsPage : public QWizardPage, public Ui::TemplateDesignerNLayoutsPage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TemplateDesignerNLayoutsPage( QWidget* parent = nullptr );
|
||||
|
||||
void initializePage() override;
|
||||
void cleanupPage() override;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// OneLayout Page
|
||||
//
|
||||
class TemplateDesignerOneLayoutPage : public QWizardPage, public Ui::TemplateDesignerOneLayoutPage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TemplateDesignerOneLayoutPage( QWidget* parent = nullptr );
|
||||
|
||||
void initializePage() override;
|
||||
void cleanupPage() override;
|
||||
|
||||
private slots:
|
||||
void onChanged();
|
||||
void onPrintButtonClicked();
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// TwoLayout Page
|
||||
//
|
||||
class TemplateDesignerTwoLayoutPage : public QWizardPage, public Ui::TemplateDesignerTwoLayoutPage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TemplateDesignerTwoLayoutPage( QWidget* parent = nullptr );
|
||||
|
||||
void initializePage() override;
|
||||
void cleanupPage() override;
|
||||
|
||||
private slots:
|
||||
void onChanged();
|
||||
void onPrintButtonClicked();
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Apply Page
|
||||
//
|
||||
class TemplateDesignerApplyPage : public QWizardPage, public Ui::TemplateDesignerApplyPage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TemplateDesignerApplyPage( QWidget* parent = nullptr );
|
||||
|
||||
bool validatePage();
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // TemplateDesigner_h
|
||||
@@ -2,8 +2,19 @@
|
||||
|
||||
<RCC version="1.0">
|
||||
<qresource>
|
||||
|
||||
<file>images/glabels-label-designer.png</file>
|
||||
<file>images/glabels-logo.png</file>
|
||||
|
||||
<file>images/checkerboard.png</file>
|
||||
|
||||
<file>images/TemplateDesigner/wizard-banner.png</file>
|
||||
<file>images/TemplateDesigner/ex-1layout.png</file>
|
||||
<file>images/TemplateDesigner/ex-2layouts.png</file>
|
||||
<file>images/TemplateDesigner/ex-cd-size.png</file>
|
||||
<file>images/TemplateDesigner/ex-ellipse-size.png</file>
|
||||
<file>images/TemplateDesigner/ex-rect-size.png</file>
|
||||
<file>images/TemplateDesigner/ex-round-size.png</file>
|
||||
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 44 KiB |
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TemplateDesignerApplyPage</class>
|
||||
<widget class="QWidget" name="TemplateDesignerApplyPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>18</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>You have completed the gLabels Product Template Designer. If you wish to accept and save your product template, click "Save."</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Otherwise, you may click "Cancel" to abandon your design or "Back" to review or continue editing this product template.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</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>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,190 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TemplateDesignerCdPage</class>
|
||||
<widget class="QWidget" name="TemplateDesignerCdPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="xClipSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>6. Margin:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>1. Outer radius:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<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>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>4. Clipping height:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>2. Inner radius:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>3. Clipping width:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="r2Spin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QDoubleSpinBox" name="r1Spin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QDoubleSpinBox" name="marginSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QDoubleSpinBox" name="wasteSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QDoubleSpinBox" name="yClipSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>5. Waste:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../images.qrc">:/images/TemplateDesigner/ex-cd-size.png</pixmap>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>65</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../images.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,156 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TemplateDesignerEllipsePage</class>
|
||||
<widget class="QWidget" name="TemplateDesignerEllipsePage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="3" column="1">
|
||||
<widget class="QDoubleSpinBox" name="marginSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<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>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>2. Height:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>1. Width:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>3. Waste:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QDoubleSpinBox" name="wSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>4. Margin:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="wasteSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="hSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../images.qrc">:/images/TemplateDesigner/ex-ellipse-size.png</pixmap>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>65</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../images.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TemplateDesignerIntroPage</class>
|
||||
<widget class="QWidget" name="TemplateDesignerIntroPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="verticalSpacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>This dialog will help you create a custom product template. Let's get started:</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<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 row="1" column="0">
|
||||
<widget class="QCommandLinkButton" name="copyButton">
|
||||
<property name="text">
|
||||
<string>Copy/Edit Product</string>
|
||||
</property>
|
||||
<property name="description">
|
||||
<string>Copy and edit an existing product template</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QCommandLinkButton" name="newButton">
|
||||
<property name="text">
|
||||
<string>New Product</string>
|
||||
</property>
|
||||
<property name="description">
|
||||
<string>Create a a new product template from scratch</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,250 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TemplateDesignerNLayoutsPage</class>
|
||||
<widget class="QWidget" name="TemplateDesignerNLayoutsPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetDefaultConstraint</enum>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<property name="spacing">
|
||||
<number>18</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>A layout is a set of labels or cards that can be arranged in a simple grid. Most products only need one layout, as in the first example below. The second example illustrates when two layouts are needed.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetDefaultConstraint</enum>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<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>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetDefaultConstraint</enum>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>75</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../images.qrc">:/images/TemplateDesigner/ex-1layout.png</pixmap>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Products needing only one layout.</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<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>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetDefaultConstraint</enum>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>75</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../images.qrc">:/images/TemplateDesigner/ex-2layouts.png</pixmap>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Products needing two layouts.</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Note: if more than two layouts are required, the product template must be edited manually.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="oneLayoutRadio">
|
||||
<property name="text">
|
||||
<string>One layout</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="twoLayoutsRadio">
|
||||
<property name="text">
|
||||
<string>Two layouts</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>58</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../images.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,134 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TemplateDesignerNamePage</class>
|
||||
<widget class="QWidget" name="TemplateDesignerNamePage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<property name="verticalSpacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item row="2" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>123</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="horizontalSpacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="brandEntry"/>
|
||||
</item>
|
||||
<item row="5" column="1" colspan="2">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>(e.g. "Mailing Labels," "Business Cards," ...)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Brand:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Part #:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1" colspan="2">
|
||||
<widget class="QLabel" name="warningLabel">
|
||||
<property name="text">
|
||||
<string notr="true"><b>Warning Text</b></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::RichText</enum>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Description:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="partEntry"/>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>(e.g. 8163A)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="descriptionEntry"/>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>(e.g. Avery, Acme, ...)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,218 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TemplateDesignerOneLayoutPage</class>
|
||||
<widget class="QWidget" name="TemplateDesignerOneLayoutPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="horizontalSpacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Number across (nx):</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="nxSpin">
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Number down (ny):</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="nySpin">
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Distance from left edge (x0):</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="x0Spin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Distance from top edge (y0);</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QDoubleSpinBox" name="y0Spin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Horizontal pitch (dx):</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QDoubleSpinBox" name="dxSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Vertical pitch (dy):</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QDoubleSpinBox" name="dySpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1" rowspan="2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="glabels::SimplePreview" name="preview"/>
|
||||
</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="printButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Print test sheet</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../icons.qrc">
|
||||
<normaloff>:/icons/32x32/actions/print.svg</normaloff>:/icons/32x32/actions/print.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>133</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>glabels::SimplePreview</class>
|
||||
<extends>QGraphicsView</extends>
|
||||
<header>SimplePreview.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../icons.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,107 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TemplateDesignerPageSizePage</class>
|
||||
<widget class="QWidget" name="TemplateDesignerPageSizePage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Page size:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Width:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="wSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Height:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="hSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="pageSizeCombo"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>182</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>173</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,177 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TemplateDesignerRectPage</class>
|
||||
<widget class="QWidget" name="TemplateDesignerRectPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>2. Height:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="rSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QDoubleSpinBox" name="marginSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QDoubleSpinBox" name="yWasteSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="hSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>1. Width:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QDoubleSpinBox" name="xWasteSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>4. Horizontal waste:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>3. Corner radius</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>6. Margin:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QDoubleSpinBox" name="wSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>5. Vertical waste:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../images.qrc">:/images/TemplateDesigner/ex-rect-size.png</pixmap>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>65</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../images.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,139 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TemplateDesignerRoundPage</class>
|
||||
<widget class="QWidget" name="TemplateDesignerRoundPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1">
|
||||
<widget class="QDoubleSpinBox" name="rSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="marginSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<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>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="wasteSpin">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>3. Margin</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>1. Radius:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>2. Waste:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../images.qrc">:/images/TemplateDesigner/ex-round-size.png</pixmap>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>65</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../images.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TemplateDesignerShapePage</class>
|
||||
<widget class="QWidget" name="TemplateDesignerShapePage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rectRadio">
|
||||
<property name="text">
|
||||
<string>Rectangular or square (can have rounded corners)</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="roundRadio">
|
||||
<property name="text">
|
||||
<string>Round</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="ellipseRadio">
|
||||
<property name="text">
|
||||
<string>Elliptical</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="cdRadio">
|
||||
<property name="text">
|
||||
<string>CD/DVD (including credit card CDs)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>149</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,256 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TemplateDesignerTwoLayoutPage</class>
|
||||
<widget class="QWidget" name="TemplateDesignerTwoLayoutPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>640</width>
|
||||
<height>400</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="horizontalSpacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Distance from left edge (x0):</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="nySpin1"/>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QDoubleSpinBox" name="dySpin1">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Number down (ny):</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QDoubleSpinBox" name="y0Spin1">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Distance from top edge (y0);</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QDoubleSpinBox" name="dxSpin1">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="nxSpin1"/>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Number across (nx):</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Horizontal pitch (dx):</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="x0Spin1">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Vertical pitch (dy):</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QSpinBox" name="nxSpin2"/>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QSpinBox" name="nySpin2"/>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QDoubleSpinBox" name="x0Spin2">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QDoubleSpinBox" name="y0Spin2">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QDoubleSpinBox" name="dxSpin2">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QDoubleSpinBox" name="dySpin2">
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string notr="true">in</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1" rowspan="2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="glabels::SimplePreview" name="preview"/>
|
||||
</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="printButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Print test sheet</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../icons.qrc">
|
||||
<normaloff>:/icons/32x32/actions/print.svg</normaloff>:/icons/32x32/actions/print.svg</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>133</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>glabels::SimplePreview</class>
|
||||
<extends>QGraphicsView</extends>
|
||||
<header>SimplePreview.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../icons.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -23,9 +23,11 @@
|
||||
#include "Config.h"
|
||||
#include "StrUtil.h"
|
||||
#include "FileUtil.h"
|
||||
#include "Settings.h"
|
||||
#include "XmlCategoryParser.h"
|
||||
#include "XmlPaperParser.h"
|
||||
#include "XmlTemplateParser.h"
|
||||
#include "XmlTemplateCreator.h"
|
||||
#include "XmlVendorParser.h"
|
||||
|
||||
#include <QtDebug>
|
||||
@@ -497,6 +499,22 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
bool Db::isSystemTemplateKnown( const QString& brand, const QString& part )
|
||||
{
|
||||
foreach ( Template *tmplate, mTemplates )
|
||||
{
|
||||
if ( (tmplate->brand() == brand) &&
|
||||
(tmplate->part() == part) &&
|
||||
!tmplate->isUserDefined() )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
QStringList Db::getNameListOfSimilarTemplates( const QString& name )
|
||||
{
|
||||
QStringList list;
|
||||
@@ -523,21 +541,52 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
void Db::registerUserTemplate( Template *templat )
|
||||
QString Db::userTemplateFilename( const QString& brand, const QString& part )
|
||||
{
|
||||
// TODO
|
||||
QString filename = brand + "_" + part + ".template";
|
||||
return FileUtil::userTemplatesDir().filePath( filename );
|
||||
}
|
||||
|
||||
|
||||
void Db::deleteUserTemplateByName( const QString& name )
|
||||
void Db::registerUserTemplate( Template *tmplate )
|
||||
{
|
||||
// TODO
|
||||
QString filename = userTemplateFilename( tmplate->brand(), tmplate->part() );
|
||||
|
||||
// Write file
|
||||
if ( XmlTemplateCreator().writeTemplate( tmplate, filename ) )
|
||||
{
|
||||
// Add template to list of registered templates
|
||||
registerTemplate( tmplate );
|
||||
Settings::addToRecentTemplateList( tmplate->name() );
|
||||
}
|
||||
else
|
||||
{
|
||||
qWarning() << "Problem writing user template" << filename;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Db::deleteUserTemplateByBrandPart( const QString& brand, const QString& part )
|
||||
{
|
||||
// TODO
|
||||
Template* tmplate;
|
||||
foreach ( Template *candidate, mTemplates )
|
||||
{
|
||||
if ( candidate->isUserDefined() &&
|
||||
(candidate->brand() == brand) && (candidate->part() == part) )
|
||||
{
|
||||
tmplate = candidate;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ( tmplate )
|
||||
{
|
||||
mTemplates.removeOne( tmplate );
|
||||
delete tmplate;
|
||||
|
||||
QString filename = userTemplateFilename( brand, part );
|
||||
QFile( filename ).remove();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -667,15 +716,15 @@ namespace glabels
|
||||
|
||||
void Db::readTemplates()
|
||||
{
|
||||
readTemplatesFromDir( FileUtil::systemTemplatesDir() );
|
||||
|
||||
// TODO: Read user directories
|
||||
readTemplatesFromDir( FileUtil::systemTemplatesDir(), false );
|
||||
readTemplatesFromDir( FileUtil::manualUserTemplatesDir(), false );
|
||||
readTemplatesFromDir( FileUtil::userTemplatesDir(), true );
|
||||
|
||||
std::stable_sort( mTemplates.begin(), mTemplates.end(), partNameLessThan );
|
||||
}
|
||||
|
||||
|
||||
void Db::readTemplatesFromDir( const QDir& dir )
|
||||
void Db::readTemplatesFromDir( const QDir& dir, bool isUserDefined )
|
||||
{
|
||||
QStringList filters;
|
||||
filters << "*-templates.xml" << "*.template";
|
||||
@@ -684,7 +733,7 @@ namespace glabels
|
||||
|
||||
foreach ( QString fileName, dir.entryList( filters, QDir::Files ) )
|
||||
{
|
||||
parser.readFile( dir.absoluteFilePath( fileName ) );
|
||||
parser.readFile( dir.absoluteFilePath( fileName ), isUserDefined );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -90,10 +90,11 @@ namespace glabels
|
||||
static const Template *lookupTemplateFromBrandPart( const QString& brand,
|
||||
const QString& part );
|
||||
static bool isTemplateKnown( const QString& brand, const QString& part );
|
||||
static bool isSystemTemplateKnown( const QString& brand, const QString& part );
|
||||
static QStringList getNameListOfSimilarTemplates( const QString& name );
|
||||
|
||||
static QString userTemplateFilename( const QString& brand, const QString& part );
|
||||
static void registerUserTemplate( Template *tmplate );
|
||||
static void deleteUserTemplateByName( const QString& name );
|
||||
static void deleteUserTemplateByBrandPart( const QString& brand,
|
||||
const QString& part );
|
||||
|
||||
@@ -116,7 +117,7 @@ namespace glabels
|
||||
static void readVendorsFromDir( const QDir& dir );
|
||||
|
||||
static void readTemplates();
|
||||
static void readTemplatesFromDir( const QDir& dir );
|
||||
static void readTemplatesFromDir( const QDir& dir, bool isUserDefined );
|
||||
|
||||
|
||||
private:
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "Config.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QStandardPaths>
|
||||
|
||||
|
||||
namespace glabels
|
||||
@@ -64,6 +65,27 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
QDir FileUtil::manualUserTemplatesDir()
|
||||
{
|
||||
// Location for manually created user-defined templates
|
||||
QDir dir( QStandardPaths::writableLocation(QStandardPaths::HomeLocation) );
|
||||
dir.mkpath( ".glabels" );
|
||||
dir.cd( ".glabels" );
|
||||
|
||||
return dir;
|
||||
}
|
||||
|
||||
|
||||
QDir FileUtil::userTemplatesDir()
|
||||
{
|
||||
// Location for user-defined templates created using TemplateDesigner
|
||||
QDir dir( QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) );
|
||||
dir.mkpath( "." );
|
||||
|
||||
return dir;
|
||||
}
|
||||
|
||||
|
||||
QDir FileUtil::translationsDir()
|
||||
{
|
||||
QDir dir;
|
||||
|
||||
@@ -37,6 +37,7 @@ namespace glabels
|
||||
QString addExtension( const QString& rawFilename, const QString& extension );
|
||||
|
||||
QDir systemTemplatesDir();
|
||||
QDir manualUserTemplatesDir();
|
||||
QDir userTemplatesDir();
|
||||
|
||||
QDir translationsDir();
|
||||
|
||||
@@ -92,6 +92,40 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
Settings::PageSizeFamily Settings::preferedPageSizeFamily()
|
||||
{
|
||||
// Guess at a suitable default
|
||||
QString defaultFamily;
|
||||
switch (QLocale::system().country())
|
||||
{
|
||||
case QLocale::UnitedStates:
|
||||
case QLocale::Canada:
|
||||
defaultFamily = "us";
|
||||
break;
|
||||
|
||||
default:
|
||||
defaultFamily = "iso";
|
||||
break;
|
||||
}
|
||||
|
||||
mInstance->beginGroup( "Locale" );
|
||||
QString value = mInstance->value( "preferedPageSizeFamily", defaultFamily ).toString();
|
||||
mInstance->endGroup();
|
||||
|
||||
return (value == "iso") ? ISO : US;
|
||||
}
|
||||
|
||||
|
||||
void Settings::setPreferedPageSizeFamily( PageSizeFamily preferedPageSizeFamily )
|
||||
{
|
||||
mInstance->beginGroup( "Locale" );
|
||||
mInstance->setValue( "preferedPageSizeFamily", preferedPageSizeFamily == ISO ? "iso" : "us" );
|
||||
mInstance->endGroup();
|
||||
|
||||
emit mInstance->changed();
|
||||
}
|
||||
|
||||
|
||||
bool Settings::searchIsoPaperSizes()
|
||||
{
|
||||
// Guess at a suitable default
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace glabels
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum class PageSizeFamilty { ISO, US, };
|
||||
enum PageSizeFamily { ISO, US, };
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
@@ -69,6 +69,9 @@ namespace glabels
|
||||
static Units units();
|
||||
static void setUnits( const Units& units );
|
||||
|
||||
static PageSizeFamily preferedPageSizeFamily();
|
||||
static void setPreferedPageSizeFamily( PageSizeFamily preferedPageSizeFamily );
|
||||
|
||||
static bool searchIsoPaperSizes();
|
||||
static void setSearchIsoPaperSizes( bool searchIsoPaperSizes );
|
||||
|
||||
|
||||
@@ -35,13 +35,15 @@ namespace glabels
|
||||
const QString& description,
|
||||
const QString& paperId,
|
||||
const Distance& pageWidth,
|
||||
const Distance& pageHeight )
|
||||
const Distance& pageHeight,
|
||||
bool isUserDefined )
|
||||
: mBrand(brand),
|
||||
mPart(part),
|
||||
mDescription(description),
|
||||
mPaperId(paperId),
|
||||
mPageWidth(pageWidth),
|
||||
mPageHeight(pageHeight),
|
||||
mIsUserDefined(isUserDefined),
|
||||
mIsSizeIso(false),
|
||||
mIsSizeUs(false),
|
||||
mName("")
|
||||
@@ -179,6 +181,12 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
bool Template::isUserDefined() const
|
||||
{
|
||||
return mIsUserDefined;
|
||||
}
|
||||
|
||||
|
||||
QString Template::equivPart() const
|
||||
{
|
||||
return mEquivPart;
|
||||
|
||||
@@ -48,7 +48,8 @@ namespace glabels
|
||||
const QString& description,
|
||||
const QString& paperId,
|
||||
const Distance& pageWidth,
|
||||
const Distance& pageHeight );
|
||||
const Distance& pageHeight,
|
||||
bool isUserDefined = false );
|
||||
|
||||
Template( const Template& other );
|
||||
|
||||
@@ -74,6 +75,8 @@ namespace glabels
|
||||
bool isSizeUs() const;
|
||||
bool isSizeOther() const;
|
||||
|
||||
bool isUserDefined() const;
|
||||
|
||||
QString equivPart() const;
|
||||
void setEquivPart( const QString& value );
|
||||
|
||||
@@ -104,6 +107,8 @@ namespace glabels
|
||||
bool mIsSizeIso;
|
||||
bool mIsSizeUs;
|
||||
|
||||
bool mIsUserDefined;
|
||||
|
||||
QString mEquivPart;
|
||||
QString mName;
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace glabels
|
||||
namespace model
|
||||
{
|
||||
|
||||
bool XmlTemplateParser::readFile( const QString &fileName )
|
||||
bool XmlTemplateParser::readFile( const QString &fileName, bool isUserDefined )
|
||||
{
|
||||
QFile file( fileName );
|
||||
|
||||
@@ -73,18 +73,18 @@ namespace glabels
|
||||
return false;
|
||||
}
|
||||
|
||||
parseRootNode( root );
|
||||
parseRootNode( root, isUserDefined );
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void XmlTemplateParser::parseRootNode( const QDomElement &node )
|
||||
void XmlTemplateParser::parseRootNode( const QDomElement &node, bool isUserDefined )
|
||||
{
|
||||
for ( QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling() )
|
||||
{
|
||||
if ( child.toElement().tagName() == "Template" )
|
||||
{
|
||||
Template *tmplate = parseTemplateNode( child.toElement() );
|
||||
Template *tmplate = parseTemplateNode( child.toElement(), isUserDefined );
|
||||
if ( tmplate != nullptr )
|
||||
{
|
||||
Db::registerTemplate( tmplate );
|
||||
@@ -104,7 +104,7 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
Template *XmlTemplateParser::parseTemplateNode( const QDomElement &node )
|
||||
Template *XmlTemplateParser::parseTemplateNode( const QDomElement &node, bool isUserDefined )
|
||||
{
|
||||
QString brand = XmlUtil::getStringAttr( node, "brand", "" );
|
||||
QString part = XmlUtil::getStringAttr( node, "part", "" );
|
||||
@@ -163,14 +163,14 @@ namespace glabels
|
||||
}
|
||||
|
||||
tmplate = new Template( brand, part, description,
|
||||
paper->id(), paper->width(), paper->height() );
|
||||
paper->id(), paper->width(), paper->height(), isUserDefined );
|
||||
}
|
||||
else
|
||||
{
|
||||
Distance width = XmlUtil::getLengthAttr( node, "width", Distance(0) );
|
||||
Distance height = XmlUtil::getLengthAttr( node, "height", Distance(0) );
|
||||
|
||||
tmplate = new Template( brand, part, description, paperId, width, height );
|
||||
tmplate = new Template( brand, part, description, paperId, width, height, isUserDefined );
|
||||
}
|
||||
|
||||
for ( QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling() )
|
||||
|
||||
@@ -38,11 +38,11 @@ namespace glabels
|
||||
public:
|
||||
XmlTemplateParser() = default;
|
||||
|
||||
bool readFile( const QString &fileName );
|
||||
Template *parseTemplateNode( const QDomElement &node );
|
||||
bool readFile( const QString &fileName, bool isUserDefined = false );
|
||||
Template *parseTemplateNode( const QDomElement &node, bool isUserDefined = false );
|
||||
|
||||
private:
|
||||
void parseRootNode( const QDomElement &node );
|
||||
void parseRootNode( const QDomElement &node, bool isUserDefined );
|
||||
void parseMetaNode( const QDomElement &node, Template *tmplate );
|
||||
void parseLabelRectangleNode( const QDomElement &node, Template *tmplate );
|
||||
void parseLabelEllipseNode( const QDomElement &node, Template *tmplate );
|
||||
|
||||
@@ -785,6 +785,397 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemplateDesignerApplyPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerApplyPage.ui" line="26"/>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerApplyPage.ui" line="35"/>
|
||||
<source>You have completed the gLabels Product Template Designer. If you wish to accept and save your product template, click "Save."</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerApplyPage.ui" line="45"/>
|
||||
<source>Otherwise, you may click "Cancel" to abandon your design or "Back" to review or continue editing this product template.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemplateDesignerCdPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerCdPage.ui" line="26"/>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerCdPage.ui" line="73"/>
|
||||
<source>4. Clipping height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerCdPage.ui" line="80"/>
|
||||
<source>2. Inner radius:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerCdPage.ui" line="53"/>
|
||||
<source>1. Outer radius:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerCdPage.ui" line="144"/>
|
||||
<source>5. Waste:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerCdPage.ui" line="87"/>
|
||||
<source>3. Clipping width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerCdPage.ui" line="46"/>
|
||||
<source>6. Margin:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemplateDesignerEllipsePage</name>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerEllipsePage.ui" line="26"/>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerEllipsePage.ui" line="73"/>
|
||||
<source>3. Waste:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerEllipsePage.ui" line="59"/>
|
||||
<source>2. Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerEllipsePage.ui" line="66"/>
|
||||
<source>1. Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerEllipsePage.ui" line="90"/>
|
||||
<source>4. Margin:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemplateDesignerIntroPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerIntroPage.ui" line="26"/>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerIntroPage.ui" line="35"/>
|
||||
<source><html><head/><body><p>This dialog will help you create a custom product template. Let's get started:</p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerIntroPage.ui" line="55"/>
|
||||
<source>Copy/Edit Product</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerIntroPage.ui" line="58"/>
|
||||
<source>Copy and edit an existing product template</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerIntroPage.ui" line="65"/>
|
||||
<source>New Product</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerIntroPage.ui" line="68"/>
|
||||
<source>Create a a new product template from scratch</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemplateDesignerNLayoutsPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNLayoutsPage.ui" line="26"/>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNLayoutsPage.ui" line="40"/>
|
||||
<source>A layout is a set of labels or cards that can be arranged in a simple grid. Most products only need one layout, as in the first example below. The second example illustrates when two layouts are needed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNLayoutsPage.ui" line="104"/>
|
||||
<source>Products needing only one layout.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNLayoutsPage.ui" line="168"/>
|
||||
<source>Products needing two layouts.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNLayoutsPage.ui" line="198"/>
|
||||
<source>Note: if more than two layouts are required, the product template must be edited manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNLayoutsPage.ui" line="213"/>
|
||||
<source>One layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNLayoutsPage.ui" line="223"/>
|
||||
<source>Two layouts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemplateDesignerNamePage</name>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNamePage.ui" line="26"/>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNamePage.ui" line="70"/>
|
||||
<source>Brand:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNamePage.ui" line="117"/>
|
||||
<source>(e.g. Avery, Acme, ...)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNamePage.ui" line="77"/>
|
||||
<source>Part #:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNamePage.ui" line="107"/>
|
||||
<source>(e.g. 8163A)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNamePage.ui" line="97"/>
|
||||
<source>Description:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerNamePage.ui" line="63"/>
|
||||
<source>(e.g. "Mailing Labels," "Business Cards," ...)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemplateDesignerOneLayoutPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerOneLayoutPage.ui" line="26"/>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerOneLayoutPage.ui" line="37"/>
|
||||
<source>Number across (nx):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerOneLayoutPage.ui" line="51"/>
|
||||
<source>Number down (ny):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerOneLayoutPage.ui" line="65"/>
|
||||
<source>Distance from left edge (x0):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerOneLayoutPage.ui" line="82"/>
|
||||
<source>Distance from top edge (y0);</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerOneLayoutPage.ui" line="99"/>
|
||||
<source>Horizontal pitch (dx):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerOneLayoutPage.ui" line="116"/>
|
||||
<source>Vertical pitch (dy):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerOneLayoutPage.ui" line="161"/>
|
||||
<source>Print test sheet</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemplateDesignerPageSizePage</name>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerPageSizePage.ui" line="26"/>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerPageSizePage.ui" line="34"/>
|
||||
<source>Page size:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerPageSizePage.ui" line="41"/>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerPageSizePage.ui" line="58"/>
|
||||
<source>Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemplateDesignerRectPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerRectPage.ui" line="26"/>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerRectPage.ui" line="83"/>
|
||||
<source>1. Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerRectPage.ui" line="36"/>
|
||||
<source>2. Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerRectPage.ui" line="107"/>
|
||||
<source>3. Corner radius</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerRectPage.ui" line="100"/>
|
||||
<source>4. Horizontal waste:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerRectPage.ui" line="131"/>
|
||||
<source>5. Vertical waste:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerRectPage.ui" line="114"/>
|
||||
<source>6. Margin:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemplateDesignerRoundPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerRoundPage.ui" line="26"/>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerRoundPage.ui" line="93"/>
|
||||
<source>2. Waste:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerRoundPage.ui" line="86"/>
|
||||
<source>1. Radius:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerRoundPage.ui" line="79"/>
|
||||
<source>3. Margin</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemplateDesignerShapePage</name>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerShapePage.ui" line="26"/>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerShapePage.ui" line="34"/>
|
||||
<source>Rectangular or square (can have rounded corners)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerShapePage.ui" line="44"/>
|
||||
<source>Round</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerShapePage.ui" line="51"/>
|
||||
<source>Elliptical</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerShapePage.ui" line="58"/>
|
||||
<source>CD/DVD (including credit card CDs)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemplateDesignerTwoLayoutPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerTwoLayoutPage.ui" line="26"/>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerTwoLayoutPage.ui" line="37"/>
|
||||
<source>Distance from left edge (x0):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerTwoLayoutPage.ui" line="57"/>
|
||||
<source>Number down (ny):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerTwoLayoutPage.ui" line="74"/>
|
||||
<source>Distance from top edge (y0);</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerTwoLayoutPage.ui" line="94"/>
|
||||
<source>Number across (nx):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerTwoLayoutPage.ui" line="101"/>
|
||||
<source>Horizontal pitch (dx):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerTwoLayoutPage.ui" line="118"/>
|
||||
<source>Vertical pitch (dy):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/ui/TemplateDesignerTwoLayoutPage.ui" line="199"/>
|
||||
<source>Print test sheet</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::AboutDialog</name>
|
||||
<message>
|
||||
@@ -834,43 +1225,43 @@
|
||||
<context>
|
||||
<name>glabels::File</name>
|
||||
<message>
|
||||
<location filename="../glabels/File.cpp" line="103"/>
|
||||
<location filename="../glabels/File.cpp" line="104"/>
|
||||
<source>gLabels - Open Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/File.cpp" line="105"/>
|
||||
<location filename="../glabels/File.cpp" line="186"/>
|
||||
<location filename="../glabels/File.cpp" line="106"/>
|
||||
<location filename="../glabels/File.cpp" line="187"/>
|
||||
<source>glabels files (*.glabels);;All files (*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/File.cpp" line="132"/>
|
||||
<location filename="../glabels/File.cpp" line="133"/>
|
||||
<source>Unable to open "</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/File.cpp" line="132"/>
|
||||
<location filename="../glabels/File.cpp" line="133"/>
|
||||
<source>".</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/File.cpp" line="184"/>
|
||||
<location filename="../glabels/File.cpp" line="185"/>
|
||||
<source>gLabels - Save Project As</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/File.cpp" line="197"/>
|
||||
<location filename="../glabels/File.cpp" line="198"/>
|
||||
<source>Save Label As</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/File.cpp" line="199"/>
|
||||
<location filename="../glabels/File.cpp" line="200"/>
|
||||
<source>%1 already exists.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/File.cpp" line="200"/>
|
||||
<location filename="../glabels/File.cpp" line="201"/>
|
||||
<source>Do you want to replace it?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -961,7 +1352,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="249"/>
|
||||
<source>Template &Designer...</source>
|
||||
<source>Product Template &Designer...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -1004,7 +1395,7 @@
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="279"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="487"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1083"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1089"/>
|
||||
<source>Cut</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1232,7 +1623,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="402"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1292"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1298"/>
|
||||
<source>Bring To Front</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1243,7 +1634,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="407"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1302"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1308"/>
|
||||
<source>Send To Back</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1254,7 +1645,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="412"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1312"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1318"/>
|
||||
<source>Rotate Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1265,7 +1656,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="417"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1322"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1328"/>
|
||||
<source>Rotate Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1276,7 +1667,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="422"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1332"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1338"/>
|
||||
<source>Flip Horizontally</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1287,7 +1678,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="427"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1342"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1348"/>
|
||||
<source>Flip Vertically</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1298,7 +1689,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="432"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1352"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1358"/>
|
||||
<source>Align Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1309,7 +1700,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="437"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1362"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1368"/>
|
||||
<source>Align Center</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1320,7 +1711,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="442"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1372"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1378"/>
|
||||
<source>Align Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1331,7 +1722,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="447"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1382"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1388"/>
|
||||
<source>Align Top</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1342,7 +1733,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="452"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1392"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1398"/>
|
||||
<source>Align Middle</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1353,7 +1744,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="457"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1402"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1408"/>
|
||||
<source>Align Bottom</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1364,7 +1755,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="462"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1412"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1418"/>
|
||||
<source>Center Horizontally</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1375,7 +1766,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="467"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1422"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1428"/>
|
||||
<source>Center Vertically</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1470,62 +1861,62 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="869"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="875"/>
|
||||
<source>(modified)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="932"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="938"/>
|
||||
<source>Save changes to project "%1" before closing?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="933"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="939"/>
|
||||
<source>Your changes will be lost if you don't save them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="936"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="942"/>
|
||||
<source>Save project?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1103"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1109"/>
|
||||
<source>Paste</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1113"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1119"/>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1232"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1238"/>
|
||||
<source>Create Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1242"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1248"/>
|
||||
<source>Create Box</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1252"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1258"/>
|
||||
<source>Create Line</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1262"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1268"/>
|
||||
<source>Create Ellipse</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1272"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1278"/>
|
||||
<source>Create Image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1282"/>
|
||||
<location filename="../glabels/MainWindow.cpp" line="1288"/>
|
||||
<source>Create Barcode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1727,6 +2118,202 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesigner</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="111"/>
|
||||
<source>Product Template Designer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="455"/>
|
||||
<source>Copy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesignerApplyPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="1386"/>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="1413"/>
|
||||
<source>Save Product Template</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="1387"/>
|
||||
<source>Click "Save" to save your custom product template!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="1415"/>
|
||||
<source>User product template (%1 %2) already exists.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="1416"/>
|
||||
<source>Do you want to replace it?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesignerCdPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="981"/>
|
||||
<source>Product Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="982"/>
|
||||
<source>Please adjust the size parameters of a single product item.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesignerEllipsePage</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="909"/>
|
||||
<source>Product Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="910"/>
|
||||
<source>Please adjust the size parameters of a single product item.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesignerIntroPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="553"/>
|
||||
<source>Welcome</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="554"/>
|
||||
<source>Welcome to the gLabels Product Template Designer.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesignerNLayoutsPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="1067"/>
|
||||
<source>Number of Layouts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="1068"/>
|
||||
<source>Please select the number of layouts required.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesignerNamePage</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="604"/>
|
||||
<source>Name and Description</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="605"/>
|
||||
<source>Please enter the following identifying information about the product.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="636"/>
|
||||
<source>Brand and part number match an existing built-in product template!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesignerOneLayoutPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="1098"/>
|
||||
<source>Layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="1099"/>
|
||||
<source>Please enter parameters for your single layout.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesignerPageSizePage</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="654"/>
|
||||
<source>Page Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="655"/>
|
||||
<source>Please select the product page size.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="660"/>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="668"/>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="674"/>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="676"/>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="708"/>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="715"/>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="716"/>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesignerRectPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="758"/>
|
||||
<source>Product Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="759"/>
|
||||
<source>Please adjust the size parameters of a single product item.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesignerRoundPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="844"/>
|
||||
<source>Product Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="845"/>
|
||||
<source>Please adjust the size parameters of a single product item.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesignerShapePage</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="725"/>
|
||||
<source>Product Shape</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="726"/>
|
||||
<source>Please select the basic product shape.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>glabels::TemplateDesignerTwoLayoutPage</name>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="1220"/>
|
||||
<source>Layouts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../glabels/TemplateDesigner.cpp" line="1221"/>
|
||||
<source>Please enter parameters for your two layouts.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
|
||||