diff --git a/README.md b/README.md
index 6f42aa8..fc269cc 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
-

+
+
[](https://travis-ci.org/jimevins/glabels-qt)
*******************************************************************************
@@ -9,20 +10,18 @@
gLabels-qt is the development version of the next major version of gLabels (4.0).
-
-
-## What's new in gLabels-qt?
+## What's new in gLabels 4?
- Based on the Qt5 framework.
- Updated UI based on typical workflows.
- Intended to be a cross-platform application.
- * So far, it has been built and tested under both Linux, Windows 7, and Windows 10. (Windows testing is still very intermittent.)
+ * So far, it has been built and tested under Linux, Windows 7, and Windows 10. (Windows testing is still very intermittent.)
## Status
-gLabels-qt has been under off-and-on development for several years..
+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
- Compatability with older glabels project files
@@ -33,7 +32,7 @@ It is still missing several features to bring it in parity with glabels-3.4. Th
### Latest Release
-There are currently no official releases of gLabels-qt.
+There are currently no official releases of gLabels 4.
### Continuous Integration Snapshots
diff --git a/docs/images/cover-image.png b/docs/images/cover-image.png
new file mode 100644
index 0000000..b6c7c19
Binary files /dev/null and b/docs/images/cover-image.png differ
diff --git a/docs/images/screenshot.png b/docs/images/screenshot.png
deleted file mode 100644
index 6647a01..0000000
Binary files a/docs/images/screenshot.png and /dev/null differ
diff --git a/glabels/CMakeLists.txt b/glabels/CMakeLists.txt
index 262395b..65c54b5 100644
--- a/glabels/CMakeLists.txt
+++ b/glabels/CMakeLists.txt
@@ -24,6 +24,7 @@ set (glabels_sources
MainWindow.cpp
MergeView.cpp
MiniPreviewPixmap.cpp
+ NotebookUtil.cpp
ObjectEditor.cpp
PreferencesDialog.cpp
PrintView.cpp
diff --git a/glabels/MainWindow.cpp b/glabels/MainWindow.cpp
index 112ae2d..beb402f 100644
--- a/glabels/MainWindow.cpp
+++ b/glabels/MainWindow.cpp
@@ -70,8 +70,6 @@ namespace glabels
mContents = new QListWidget();
mContents->setViewMode(QListView::ListMode);
mContents->setMovement(QListView::Static);
- mContents->setMinimumWidth(96);
- mContents->setMaximumWidth(96);
mContents->setSpacing(6);
// Pages widget
@@ -86,27 +84,37 @@ namespace glabels
// Add "Editor" page
mPages->addWidget( editorPage );
mEditorButton = new QListWidgetItem(mContents);
- mEditorButton->setText(tr("Home"));
+ mEditorButton->setText(tr("Edit"));
+ mEditorButton->setToolTip( tr("Select Edit mode") );
mEditorButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
// Add "Properties" page
mPages->addWidget( propertiesPage );
mPropertiesButton = new QListWidgetItem(mContents);
mPropertiesButton->setText(tr("Properties"));
+ mPropertiesButton->setToolTip( tr("Select Properties mode") );
mPropertiesButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
// Add "Merge" page
mPages->addWidget( mergePage );
mMergeButton = new QListWidgetItem(mContents);
mMergeButton->setText(tr("Merge"));
+ mMergeButton->setToolTip( tr("Select Merge mode") );
mMergeButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
// Add "Print" page
mPages->addWidget( printPage );
mPrintButton = new QListWidgetItem(mContents);
mPrintButton->setText(tr("Print"));
+ mPrintButton->setToolTip( tr("Select Print mode") );
mPrintButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
+ // Adjust width of list view based on its contents
+ mContents->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
+ mContents->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
+ mContents->setMinimumWidth( mContents->sizeHintForColumn(0) + 24 );
+ mContents->setMaximumWidth( mContents->sizeHintForColumn(0) + 24 );
+
// Set initial page selection
mWelcomeButton->setSelected( true );
mPages->setCurrentIndex(mContents->row(mWelcomeButton));
@@ -246,6 +254,26 @@ namespace glabels
fileSaveAsAction->setStatusTip( tr("Save current gLabels project to a different name") );
connect( fileSaveAsAction, SIGNAL(triggered()), this, SLOT(fileSaveAs()) );
+ fileShowEditorPageAction = new QAction( tr("&Edit") , this );
+ fileShowEditorPageAction->setShortcut( QKeySequence( Qt::CTRL + Qt::Key_1 ) );
+ fileShowEditorPageAction->setStatusTip( tr("Select project Edit mode") );
+ connect( fileShowEditorPageAction, SIGNAL(triggered()), this, SLOT(fileShowEditorPage()) );
+
+ fileShowPropertiesPageAction = new QAction( tr("P&roperties") , this );
+ fileShowPropertiesPageAction->setShortcut( QKeySequence( Qt::CTRL + Qt::Key_2 ) );
+ fileShowPropertiesPageAction->setStatusTip( tr("Select project Properties mode") );
+ connect( fileShowPropertiesPageAction, SIGNAL(triggered()), this, SLOT(fileShowPropertiesPage()) );
+
+ fileShowMergePageAction = new QAction( tr("&Merge") , this );
+ fileShowMergePageAction->setShortcut( QKeySequence( Qt::CTRL + Qt::Key_3 ) );
+ fileShowMergePageAction->setStatusTip( tr("Select project Merge mode") );
+ connect( fileShowMergePageAction, SIGNAL(triggered()), this, SLOT(fileShowMergePage()) );
+
+ fileShowPrintPageAction = new QAction( tr("&Print") , this );
+ fileShowPrintPageAction->setShortcut( QKeySequence::Print );
+ fileShowPrintPageAction->setStatusTip( tr("Select project Print mode") );
+ connect( fileShowPrintPageAction, SIGNAL(triggered()), this, SLOT(fileShowPrintPage()) );
+
fileTemplateDesignerAction = new QAction( tr("Product Template &Designer..."), this );
fileTemplateDesignerAction->setStatusTip( tr("Create custom templates") );
connect( fileTemplateDesignerAction, SIGNAL(triggered()), this, SLOT(fileTemplateDesigner()) );
@@ -517,6 +545,11 @@ namespace glabels
fileMenu->addAction( fileSaveAction );
fileMenu->addAction( fileSaveAsAction );
fileMenu->addSeparator();
+ fileMenu->addAction( fileShowEditorPageAction );
+ fileMenu->addAction( fileShowPropertiesPageAction );
+ fileMenu->addAction( fileShowMergePageAction );
+ fileMenu->addAction( fileShowPrintPageAction );
+ fileMenu->addSeparator();
fileMenu->addAction( fileTemplateDesignerAction );
fileMenu->addSeparator();
fileMenu->addAction( fileCloseAction );
@@ -988,6 +1021,12 @@ namespace glabels
setSelectionVerbsEnabled( isEditorPage && !mModel->isSelectionEmpty() );
setMultiSelectionVerbsEnabled( isEditorPage && !mModel->isSelectionEmpty() && !mModel->isSelectionAtomic() );
setPasteVerbsEnabled( isEditorPage && mModel->canPaste() );
+
+ bool isWelcome = ( current == mWelcomeButton );
+ fileShowEditorPageAction->setEnabled( !isWelcome && (current != mEditorButton) );
+ fileShowPropertiesPageAction->setEnabled( !isWelcome && (current != mPropertiesButton) );
+ fileShowMergePageAction->setEnabled( !isWelcome && (current != mMergeButton) );
+ fileShowPrintPageAction->setEnabled( !isWelcome && (current != mPrintButton) );
}
@@ -1036,6 +1075,42 @@ namespace glabels
}
+ ///
+ /// File->Show Editor Page
+ ///
+ void MainWindow::fileShowEditorPage()
+ {
+ mContents->setCurrentItem( mEditorButton );
+ }
+
+
+ ///
+ /// File->Show Properties Page
+ ///
+ void MainWindow::fileShowPropertiesPage()
+ {
+ mContents->setCurrentItem( mPropertiesButton );
+ }
+
+
+ ///
+ /// File->Show Merge Page
+ ///
+ void MainWindow::fileShowMergePage()
+ {
+ mContents->setCurrentItem( mMergeButton );
+ }
+
+
+ ///
+ /// File->Show Print Page
+ ///
+ void MainWindow::fileShowPrintPage()
+ {
+ mContents->setCurrentItem( mPrintButton );
+ }
+
+
///
/// File->Template Designer Action
///
diff --git a/glabels/MainWindow.h b/glabels/MainWindow.h
index 80c286b..1c934b7 100644
--- a/glabels/MainWindow.h
+++ b/glabels/MainWindow.h
@@ -92,6 +92,10 @@ namespace glabels
void fileOpen();
void fileSave();
void fileSaveAs();
+ void fileShowEditorPage();
+ void fileShowPropertiesPage();
+ void fileShowMergePage();
+ void fileShowPrintPage();
void fileTemplateDesigner();
void fileClose();
void fileExit();
@@ -235,6 +239,10 @@ namespace glabels
QAction* fileOpenAction;
QAction* fileSaveAction;
QAction* fileSaveAsAction;
+ QAction* fileShowEditorPageAction;
+ QAction* fileShowPropertiesPageAction;
+ QAction* fileShowMergePageAction;
+ QAction* fileShowPrintPageAction;
QAction* fileTemplateDesignerAction;
QAction* fileCloseAction;
QAction* fileExitAction;
diff --git a/glabels/NotebookUtil.cpp b/glabels/NotebookUtil.cpp
new file mode 100644
index 0000000..cab79d0
--- /dev/null
+++ b/glabels/NotebookUtil.cpp
@@ -0,0 +1,61 @@
+/* NotebookUtil.cpp
+ *
+ * Copyright (C) 2015 Jim Evins
+ *
+ * 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 .
+ */
+
+#include "NotebookUtil.h"
+
+#include
+
+
+namespace glabels
+{
+
+ ///
+ /// Establish notebook size based on largest page
+ ///
+ void NotebookUtil::establishSize( QTabWidget* notebook )
+ {
+ // Establish size of notebook size based on its largest page.
+ // This may not be established until runtime, due to varying
+ // lengths of translated strings or may even be influenced by
+ // the current theme and fonts. Without doing this, the
+ // notebook may change size as tabs are selected for the first
+ // time, which can be very annoying.
+
+ // This hack shows the top-level window containing the notebook,
+ // then shows each page and invalidates the window's layout.
+ // Finally it re-hides the window without ever having
+ // relinquishing control to the Qt event loop.
+
+ QWidget* window = notebook->window();
+ int iTabSaved = notebook->currentIndex();
+ int nTabs = notebook->count();
+
+ window->show();
+ for ( int iTab = 0; iTab < nTabs; iTab++ )
+ {
+ notebook->setCurrentIndex( iTab );
+ window->layout()->invalidate();
+ }
+ window->hide();
+
+ notebook->setCurrentIndex( iTabSaved );
+ }
+
+}
diff --git a/glabels/NotebookUtil.h b/glabels/NotebookUtil.h
new file mode 100644
index 0000000..c4f7140
--- /dev/null
+++ b/glabels/NotebookUtil.h
@@ -0,0 +1,40 @@
+/* NotebookUtil.h
+ *
+ * Copyright (C) 2015 Jim Evins
+ *
+ * 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 .
+ */
+
+#ifndef model_NotebookUtil_h
+#define model_NotebookUtil_h
+
+
+#include
+#include
+
+
+namespace glabels
+{
+ namespace NotebookUtil
+ {
+
+ void establishSize( QTabWidget* notebook );
+
+ }
+}
+
+
+#endif // model_NotebookUtil_h
diff --git a/glabels/ObjectEditor.cpp b/glabels/ObjectEditor.cpp
index f575cc2..f5a9aa1 100644
--- a/glabels/ObjectEditor.cpp
+++ b/glabels/ObjectEditor.cpp
@@ -61,15 +61,15 @@ namespace glabels
textVAlignGroup->addButton( textVAlignMiddleToggle, Qt::AlignVCenter );
textVAlignGroup->addButton( textVAlignBottomToggle, Qt::AlignBottom );
- lineColorButton->init( "No line", QColor(0,0,0,0), QColor(0,0,0,255) );
- fillColorButton->init( "No fill", QColor(0,0,0,0), QColor(0,0,0,255) );
- textColorButton->init( "Default", QColor(0,0,0,255), QColor(0,0,0,255) );
- barcodeColorButton->init( "Default", QColor(0,0,0,255), QColor(0,0,0,255) );
- shadowColorButton->init( "Default", QColor(0,0,0,255), QColor(0,0,0,255) );
+ lineColorButton->init( tr("No line"), QColor(0,0,0,0), QColor(0,0,0,255) );
+ fillColorButton->init( tr("No fill"), QColor(0,0,0,0), QColor(0,0,0,255) );
+ textColorButton->init( tr("Default"), QColor(0,0,0,255), QColor(0,0,0,255) );
+ barcodeColorButton->init( tr("Default"), QColor(0,0,0,255), QColor(0,0,0,255) );
+ shadowColorButton->init( tr("Default"), QColor(0,0,0,255), QColor(0,0,0,255) );
- textInsertFieldCombo->setName( "Insert Field" );
- barcodeInsertFieldCombo->setName( "Insert Field" );
- imageFieldCombo->setName( "Key" );
+ textInsertFieldCombo->setName( tr("Insert Field") );
+ barcodeInsertFieldCombo->setName( tr("Insert Field") );
+ imageFieldCombo->setName( tr("Key") );
setEnabled( false );
hidePages();
@@ -351,9 +351,9 @@ namespace glabels
titleImageLabel->setPixmap( QPixmap(":icons/24x24/actions/glabels-box.svg") );
titleLabel->setText( tr("Box object properties") );
- notebook->addTab( lineFillPage, "line/fill" );
- notebook->addTab( posSizePage, "position/size" );
- notebook->addTab( shadowPage, "shadow" );
+ notebook->addTab( lineFillPage, tr("line/fill") );
+ notebook->addTab( posSizePage, tr("position/size") );
+ notebook->addTab( shadowPage, tr("shadow") );
fillFrame->setVisible( true );
sizeRectFrame->setVisible( true );
@@ -372,9 +372,9 @@ namespace glabels
titleImageLabel->setPixmap( QPixmap(":icons/24x24/actions/glabels-ellipse.svg") );
titleLabel->setText( tr("Ellipse object properties") );
- notebook->addTab( lineFillPage, "line/fill" );
- notebook->addTab( posSizePage, "position/size" );
- notebook->addTab( shadowPage, "shadow" );
+ notebook->addTab( lineFillPage, tr("line/fill") );
+ notebook->addTab( posSizePage, tr("position/size") );
+ notebook->addTab( shadowPage, tr("shadow") );
fillFrame->setVisible( true );
sizeRectFrame->setVisible( true );
@@ -393,9 +393,9 @@ namespace glabels
titleImageLabel->setPixmap( QPixmap(":icons/24x24/actions/glabels-image.svg") );
titleLabel->setText( tr("Image object properties") );
- notebook->addTab( imagePage, "image" );
- notebook->addTab( posSizePage, "position/size" );
- notebook->addTab( shadowPage, "shadow" );
+ notebook->addTab( imagePage, tr("image") );
+ notebook->addTab( posSizePage, tr("position/size") );
+ notebook->addTab( shadowPage, tr("shadow") );
sizeRectFrame->setVisible( true );
sizeOriginalSizeGroup->setVisible( true );
@@ -413,9 +413,9 @@ namespace glabels
titleImageLabel->setPixmap( QPixmap(":icons/24x24/actions/glabels-line.svg") );
titleLabel->setText( tr("Line object properties") );
- notebook->addTab( lineFillPage, "line/fill" );
- notebook->addTab( posSizePage, "position/size" );
- notebook->addTab( shadowPage, "shadow" );
+ notebook->addTab( lineFillPage, tr("line/fill") );
+ notebook->addTab( posSizePage, tr("position/size") );
+ notebook->addTab( shadowPage, tr("shadow") );
fillFrame->setVisible( false );
sizeRectFrame->setVisible( false );
@@ -434,9 +434,9 @@ namespace glabels
titleImageLabel->setPixmap( QPixmap(":icons/24x24/actions/glabels-text.svg") );
titleLabel->setText( tr("Text object properties") );
- notebook->addTab( textPage, "text" );
- notebook->addTab( posSizePage, "position/size" );
- notebook->addTab( shadowPage, "shadow" );
+ notebook->addTab( textPage, tr("text") );
+ notebook->addTab( posSizePage, tr("position/size") );
+ notebook->addTab( shadowPage, tr("shadow") );
sizeRectFrame->setVisible( true );
sizeOriginalSizeGroup->setVisible( false );
@@ -453,8 +453,8 @@ namespace glabels
titleImageLabel->setPixmap( QPixmap(":icons/24x24/actions/glabels-barcode.svg") );
titleLabel->setText( tr("Barcode object properties") );
- notebook->addTab( barcodePage, "barcode" );
- notebook->addTab( posSizePage, "position/size" );
+ notebook->addTab( barcodePage, tr("barcode") );
+ notebook->addTab( posSizePage, tr("position/size") );
sizeRectFrame->setVisible( true );
sizeOriginalSizeGroup->setVisible( false );
@@ -479,7 +479,7 @@ namespace glabels
mObject = nullptr;
titleImageLabel->setPixmap( QPixmap(":icons/24x24/actions/glabels-object-properties.svg") );
- titleLabel->setText( "Object properties" );
+ titleLabel->setText( tr("Object properties") );
setEnabled( false );
}
}
diff --git a/glabels/SelectProductDialog.cpp b/glabels/SelectProductDialog.cpp
index 990b9fc..30baaee 100644
--- a/glabels/SelectProductDialog.cpp
+++ b/glabels/SelectProductDialog.cpp
@@ -20,6 +20,7 @@
#include "SelectProductDialog.h"
+#include "NotebookUtil.h"
#include "TemplatePickerItem.h"
#include "model/Db.h"
@@ -62,6 +63,8 @@ namespace glabels
connect( check, SIGNAL(clicked()), this, SLOT(onCategoryCheckClicked()) );
}
+ NotebookUtil::establishSize( modeNotebook );
+
QList tmplates = model::Db::templates();
templatePicker->setTemplates( tmplates );
diff --git a/translations/CMakeLists.txt b/translations/CMakeLists.txt
index fcff48e..e41fd5d 100644
--- a/translations/CMakeLists.txt
+++ b/translations/CMakeLists.txt
@@ -7,12 +7,16 @@ set_directory_properties (PROPERTIES CLEAN_NO_CUSTOM 1)
include (TRANSLATION_FILES.txt)
qt5_create_translation (glabels_qm_files
- ${CMAKE_SOURCE_DIR}/glabels ${GLABELS_TS_FILES}
+ ${CMAKE_SOURCE_DIR}/glabels
+ ${CMAKE_SOURCE_DIR}/model
+ ${CMAKE_SOURCE_DIR}/backends
+ ${GLABELS_TS_FILES}
OPTIONS -no-obsolete
)
qt5_create_translation (templates_qm_files
- ${CMAKE_CURRENT_BINARY_DIR}/template-strings.h ${TEMPLATES_TS_FILES}
+ ${CMAKE_CURRENT_BINARY_DIR}/template-strings.h
+ ${TEMPLATES_TS_FILES}
OPTIONS -no-obsolete -locations none
)
diff --git a/translations/glabels_C.ts b/translations/glabels_C.ts
index 967ea58..c67ff58 100644
--- a/translations/glabels_C.ts
+++ b/translations/glabels_C.ts
@@ -207,6 +207,94 @@
+
+ Db
+
+
+ Other
+
+
+
+
+ Factory
+
+
+
+ None
+
+
+
+
+ Text: Comma Separated Values (CSV)
+
+
+
+
+ Text: Comma Separated Values (CSV), keys on line 1
+
+
+
+
+ Text: Tab Separated Values (TSV)
+
+
+
+
+ Text: Tab Separated Values (TSV), keys on line 1
+
+
+
+
+ Text: Colon Separated Values
+
+
+
+
+ Text: Colon Separated Values, keys on line 1
+
+
+
+
+ Text: Semicolon Separated Values
+
+
+
+
+ Text: Semicolon Separated Values, keys on line 1
+
+
+
+
+ Frame
+
+
+ %1 x %2 (%3 per sheet)
+
+
+
+
+ %1 per sheet
+
+
+
+
+ FrameCd
+
+
+
+ diameter
+
+
+
+
+ FrameRound
+
+
+
+ diameter
+
+
+
MergeView
@@ -1176,6 +1264,34 @@
+
+ Units
+
+
+ points
+
+
+
+
+ inches
+
+
+
+
+ mm
+
+
+
+
+ cm
+
+
+
+
+ picas
+
+
+
glabels::AboutDialog
@@ -1286,17 +1402,12 @@
glabels::MainWindow
-
+
Welcome
-
- Home
-
-
-
-
+
Properties
@@ -1306,617 +1417,678 @@
-
+
Print
-
+
&New...
-
+
Create a new gLabels project
-
+
&Open...
-
+
Open an existing gLabels project
-
+
&Save
-
+
Save current gLabels project
-
+
Save &As...
-
+
Save current gLabels project to a different name
-
-
- Product Template &Designer...
-
-
-
-
- Create custom templates
-
-
-
-
- &Close
-
-
-
-
- Close the current window
-
-
- E&xit
+ Select project Edit mode
- Exit glabels
+ P&roperties
+
+
+
+
+ Select project Properties mode
-
+ &Merge
+
+
+
+
+ Select project Merge mode
+
+
+
+
+ &Print
+
+
+
+
+ Select project Print mode
+
+
+
+
+ Product Template &Designer...
+
+
+
+
+ Create custom templates
+
+
+
+
+ &Close
+
+
+
+
+ Close the current window
+
+
+
+
+ E&xit
+
+
+
+
+ Exit glabels
+
+
+
+
+
Undo
-
-
+
+
Redo
-
-
-
+
+
+
Cut
-
-
+
+
Cut the selection
-
-
+
+
&Copy
-
-
+
+
Copy the selection
-
-
+
+
&Paste
-
-
+
+
Paste the clipboard
-
-
+
+
&Delete
-
-
+
+
Delete the selected objects
-
+
Select &All
-
+
Select all objects
-
+
Un-select All
-
+
Remove all selections
-
+
Preferences
-
+
Configure the application
-
+
File
-
+
Change visibility of file toolbar in current window
-
+
Editor
-
+
Change visibility of editor toolbar in current window
-
+
Grid
-
+
Change visibility of the grid in current window
-
+
Markup
-
+
Change visibility of markup lines in current window
-
+
Zoom &In
-
+
Increase magnification
-
+
Zoom &Out
-
+
Decrease magnification
-
+
Zoom &1 to 1
-
+
Restore scale to 100%
-
+
Zoom to &Fit
-
+
Set scale to fit window
-
+
Select Mode
-
+
Select, move and modify objects
-
+
Text
-
+
Create text object
-
+
Box
-
+
Create box object
-
+
Line
-
+
Create line object
-
+
Ellipse
-
+
Create ellipse/circle object
-
+
Image
-
+
Create image object
-
+
Barcode
-
+
Create barcode object
-
-
+
+
Bring To Front
-
+
Raise selection to top
-
-
+
+
Send To Back
-
+
Lower selection to bottom
-
-
+
+
Rotate Left
-
+
Rotate object(s) 90 degrees counter-clockwise
-
-
+
+
Rotate Right
-
+
Rotate object(s) 90 degrees clockwise
-
-
+
+
Flip Horizontally
-
+
Flip object(s) horizontally
-
-
+
+
Flip Vertically
-
+
Flip object(s) vertically
-
-
+
+
Align Left
-
+
Align objects to left edges
-
-
+
+
Align Center
-
+
Align objects to horizontal centers
-
-
+
+
Align Right
-
+
Align objects to right edges
-
-
+
+
Align Top
-
+
Align objects to top edges
-
-
+
+
Align Middle
-
+
Align objects to vertical centers
-
-
+
+
Align Bottom
-
+
Align objects to bottom edges
-
-
+
+
Center Horizontally
-
+
Horizontally center objects in label
-
-
+
+
Center Vertically
-
+
Vertically center objects in label
-
+
&Contents...
-
+
Open gLabels manual
-
+
&About...
-
+
About gLabels
-
-
+
+
&File
-
+
+
&Edit
-
+
+ Edit
+
+
+
+
+ Select <b>Edit</b> mode
+
+
+
+
+ Select <b>Properties</b> mode
+
+
+
+
+ Select <b>Merge</b> mode
+
+
+
+
+ Select <b>Print</b> mode
+
+
+
+
&View
-
+
Toolbars
-
+
&Objects
-
+
&Create
-
-
+
+
&Order
-
-
+
+
&Rotate/Flip
-
-
+
+
&Alignment
-
-
+
+
Center
-
+
&Help
-
+
&Editor
-
+
(modified)
-
+
Save changes to project "%1" before closing?
-
+
Your changes will be lost if you don't save them.
-
+
Save project?
-
+
Paste
-
+
Delete
-
+
Create Text
-
+
Create Box
-
+
Create Line
-
+
Create Ellipse
-
+
Create Image
-
+
Create Barcode
@@ -1941,6 +2113,34 @@
glabels::ObjectEditor
+
+
+ No line
+
+
+
+
+ No fill
+
+
+
+
+
+
+ Default
+
+
+
+
+
+ Insert Field
+
+
+
+
+ Key
+
+
Original size
@@ -1951,6 +2151,32 @@
Box object properties
+
+
+
+
+ line/fill
+
+
+
+
+
+
+
+
+
+ position/size
+
+
+
+
+
+
+
+
+ shadow
+
+
Ellipse object properties
@@ -1961,6 +2187,11 @@
Image object properties
+
+
+ image
+
+
Line object properties
@@ -1971,11 +2202,26 @@
Text object properties
+
+
+ text
+
+
Barcode object properties
+
+
+ barcode
+
+
+
+
+ Object properties
+
+
Line
@@ -2314,6 +2560,501 @@
+
+ glabels::barcode::Backends
+
+
+
+
+ Code 39
+
+
+
+
+
+ Code 39 Extended
+
+
+
+
+
+
+ UPC-A
+
+
+
+
+
+ EAN-13
+
+
+
+
+ POSTNET (any)
+
+
+
+
+ POSTNET-5 (ZIP only)
+
+
+
+
+ POSTNET-9 (ZIP+4)
+
+
+
+
+ POSTNET-11 (DPBC)
+
+
+
+
+ CEPNET
+
+
+
+
+ USPS Intelligent Mail
+
+
+
+
+ IEC16022 (DataMatrix)
+
+
+
+
+ EAN (any)
+
+
+
+
+ EAN-8
+
+
+
+
+ EAN-8+2
+
+
+
+
+ EAN-8+5
+
+
+
+
+ EAN-13+2
+
+
+
+
+ EAN-13+5
+
+
+
+
+ UPC (UPC-A or UPC-E)
+
+
+
+
+ UPC-A +2
+
+
+
+
+ UPC-A +5
+
+
+
+
+
+ UPC-E
+
+
+
+
+ UPC-E +2
+
+
+
+
+ UPC-E +5
+
+
+
+
+
+ ISBN
+
+
+
+
+ ISBN +5
+
+
+
+
+
+ Code 128
+
+
+
+
+ Code 128C
+
+
+
+
+ Code 128B
+
+
+
+
+
+ Interleaved 2 of 5
+
+
+
+
+
+ Codabar
+
+
+
+
+ MSI
+
+
+
+
+ Plessey
+
+
+
+
+
+ Code 93
+
+
+
+
+ IEC18004 (QRCode)
+
+
+
+
+ Austraila Post Standard
+
+
+
+
+ Australia Post Reply Paid
+
+
+
+
+ Australia Post Route Code
+
+
+
+
+ Australia Post Redirect
+
+
+
+
+ Aztec Code
+
+
+
+
+ Aztec Rune
+
+
+
+
+ Code One
+
+
+
+
+ Code 11
+
+
+
+
+ Code 16K
+
+
+
+
+ Code 2 of 5 Matrix
+
+
+
+
+ Code 2 of 5 IATA
+
+
+
+
+ Code 2 of 5 Data Logic
+
+
+
+
+ Code 32 (Italian Pharmacode)
+
+
+
+
+ Code 49
+
+
+
+
+ Code 128 (Mode C supression)
+
+
+
+
+ DAFT Code
+
+
+
+
+ Data Matrix
+
+
+
+
+ Deutsche Post Leitcode
+
+
+
+
+ Deutsche Post Identcode
+
+
+
+
+ Dutch Post KIX Code
+
+
+
+
+ EAN
+
+
+
+
+ Grid Matrix
+
+
+
+
+ GS1-128
+
+
+
+
+ GS1 DataBar-14
+
+
+
+
+ GS1 DataBar-14 Stacked
+
+
+
+
+ GS1 DataBar-14 Stacked Omni.
+
+
+
+
+ GS1 DataBar Extended Stacked
+
+
+
+
+ HIBC Code 128
+
+
+
+
+ HIBC Code 39
+
+
+
+
+ HIBC Data Matrix
+
+
+
+
+ HIBC QR Code
+
+
+
+
+ HIBC PDF417
+
+
+
+
+ HIBC Micro PDF417
+
+
+
+
+ HIBC Aztec Code
+
+
+
+
+ ITF-14
+
+
+
+
+ Japanese Postal
+
+
+
+
+ Korean Postal
+
+
+
+
+ LOGMARS
+
+
+
+
+ Maxicode
+
+
+
+
+ Micro PDF417
+
+
+
+
+ Micro QR Code
+
+
+
+
+ MSI Plessey
+
+
+
+
+ NVE-18
+
+
+
+
+ PDF417
+
+
+
+
+ PDF417 Truncated
+
+
+
+
+ PLANET
+
+
+
+
+ PostNet
+
+
+
+
+ Pharmacode
+
+
+
+
+ Pharmacode 2-track
+
+
+
+
+ Pharmazentral Nummer (PZN)
+
+
+
+
+ QR Code
+
+
+
+
+ Royal Mail 4-State
+
+
+
+
+ Telepen
+
+
+
+
+ Telepen Numeric
+
+
+
+
+ USPS One Code
+
+
+
+
+ UK Plessey
+
+
+
+
+ glabels::model::Model
+
+
+ Untitled
+
+
+
+
+ glabels::model::ModelBarcodeObject
+
+
+ No barcode data
+
+
+
+
+ Invalid barcode data
+
+
+
+
+ glabels::model::ModelTextObject
+
+
+
+ Text
+
+
+
main
diff --git a/translations/glabels_de_DE.ts b/translations/glabels_de_DE.ts
index 873a04d..a3e02c3 100644
--- a/translations/glabels_de_DE.ts
+++ b/translations/glabels_de_DE.ts
@@ -207,6 +207,94 @@
Weiß
+
+ Db
+
+
+ Other
+ Andere
+
+
+
+ Factory
+
+
+
+ None
+ Keine
+
+
+
+ Text: Comma Separated Values (CSV)
+
+
+
+
+ Text: Comma Separated Values (CSV), keys on line 1
+
+
+
+
+ Text: Tab Separated Values (TSV)
+
+
+
+
+ Text: Tab Separated Values (TSV), keys on line 1
+
+
+
+
+ Text: Colon Separated Values
+
+
+
+
+ Text: Colon Separated Values, keys on line 1
+
+
+
+
+ Text: Semicolon Separated Values
+
+
+
+
+ Text: Semicolon Separated Values, keys on line 1
+
+
+
+
+ Frame
+
+
+ %1 x %2 (%3 per sheet)
+
+
+
+
+ %1 per sheet
+
+
+
+
+ FrameCd
+
+
+
+ diameter
+
+
+
+
+ FrameRound
+
+
+
+ diameter
+
+
+
MergeView
@@ -1176,6 +1264,34 @@
Testseite drucken
+
+ Units
+
+
+ points
+
+
+
+
+ inches
+
+
+
+
+ mm
+
+
+
+
+ cm
+
+
+
+
+ picas
+
+
+
glabels::AboutDialog
@@ -1286,17 +1402,12 @@
glabels::MainWindow
-
+
Welcome
Willkommen
-
- Home
- Home
-
-
-
+
Properties
Eigenschaften
@@ -1306,617 +1417,678 @@
Seriendokument
-
+
Print
Drucken
-
+
&New...
&Neu …
-
+
Create a new gLabels project
Ein neues gLabels-Projekt erstellen
-
+
&Open...
Ö&ffnen …
-
+
Open an existing gLabels project
Ein existierendes gLabels-Projekt öffnen
-
+
&Save
&Speichern
-
+
Save current gLabels project
Aktuelles gLabels-Projekt speichern
-
+
Save &As...
Speichern &unter …
-
+
Save current gLabels project to a different name
Aktuelles gLabels-Projekt unter einem anderen Namen speichern
-
+
+ Select project Edit mode
+
+
+
+
+ P&roperties
+
+
+
+
+ Select project Properties mode
+
+
+
+
+ &Merge
+
+
+
+
+ Select project Merge mode
+
+
+
+
+ &Print
+
+
+
+
+ Select project Print mode
+
+
+
+
Product Template &Designer...
Vorlagen-&Designer …
-
+
Create custom templates
Benutzerdefinierte Vorlagen erstellen
-
+
&Close
S&chließen
-
+
Close the current window
Das aktuelle Fenster schließen
-
+
E&xit
&Beenden
-
+
Exit glabels
gLabels beenden
-
-
+
+
Undo
Rückgängig
-
-
+
+
Redo
Wiederholen
-
-
-
+
+
+
Cut
Ausschneiden
-
-
+
+
Cut the selection
Die Auswahl ausschneiden
-
-
+
+
&Copy
&Kopieren
-
-
+
+
Copy the selection
Die Auswahl kopieren
-
-
+
+
&Paste
Ein&fügen
-
-
+
+
Paste the clipboard
Den Inhalt der Zwischenablage einfügen
-
-
+
+
&Delete
&Löschen
-
-
+
+
Delete the selected objects
Die ausgewählten Objekte löschen
-
+
Select &All
&Alles auswählen
-
+
Select all objects
Alle Objekte auswählen
-
+
Un-select All
Alles abwählen
-
+
Remove all selections
Alle Auswahlen aufheben
-
+
Preferences
Einstellungen
-
+
Configure the application
Die Anwendung einrichten
-
+
File
Datei
-
+
Change visibility of file toolbar in current window
Die Sichtbarkeit der Werkzeugleiste im aktuellen Fenster ändern
-
+
Editor
Editor
-
+
Change visibility of editor toolbar in current window
Die Sichtbarkeit des Editors im aktuellen Fenster ändern
-
+
Grid
Gitter
-
+
Change visibility of the grid in current window
Die Sichtbarkeit des Gitters im aktuellen Fenster ändern
-
+
Markup
Markierungen
-
+
Change visibility of markup lines in current window
Die Sichtbarkeit von Markierungslinien im aktuellen Fenster ändern
-
+
Zoom &In
Ver&größern
-
+
Increase magnification
Vergrößerungsstufe erhöhen
-
+
Zoom &Out
Ver&kleinern
-
+
Decrease magnification
Vergrößerungsstufe verringern
-
+
Zoom &1 to 1
Vergrößerung &1:1
-
+
Restore scale to 100%
Maßstab auf 100% wiederherstellen
-
+
Zoom to &Fit
Ein&passen
-
+
Set scale to fit window
In Fenster einpassen
-
+
Select Mode
Modus auswählen
-
+
Select, move and modify objects
Objekte auswählen, bewegen, ändern
-
+
Text
Text
-
+
Create text object
Ein Textobjekt erstellen
-
+
Box
Rechteck
-
+
Create box object
Ein Rechteck-Objekt erstellen
-
+
Line
Linie
-
+
Create line object
Ein Linienobjekt erstellen
-
+
Ellipse
Ellipse
-
+
Create ellipse/circle object
Ein Ein Ellipsen- oder Kreisobjekt erstellen
-
+
Image
Bild
-
+
Create image object
Ein Bildobjekt erstellen
-
+
Barcode
Strichcode
-
+
Create barcode object
Ein Barcode-Objekt erstellen
-
-
+
+
Bring To Front
Ganz nach vorn
-
+
Raise selection to top
Auswahl ganz nach vorn bringen
-
-
+
+
Send To Back
Ganz nach hinten
-
+
Lower selection to bottom
Auswahl ganz nach hinten bringen
-
-
+
+
Rotate Left
Links drehen
-
+
Rotate object(s) 90 degrees counter-clockwise
Objekt um 90 Grad gegen den Uhrzeigersinn drehen
-
-
+
+
Rotate Right
Rechts drehen
-
+
Rotate object(s) 90 degrees clockwise
Objekt um 90 Grad im Uhrzeigersinn drehen
-
-
+
+
Flip Horizontally
Horizontal spiegeln
-
+
Flip object(s) horizontally
Objekt(e) horizontal spiegeln
-
-
+
+
Flip Vertically
Vertikal spiegeln
-
+
Flip object(s) vertically
Objekt(e) vertikal spiegeln
-
-
+
+
Align Left
Links ausrichten
-
+
Align objects to left edges
Objekte am linken Rand anordnen
-
-
+
+
Align Center
Zentral ausrichten
-
+
Align objects to horizontal centers
Objekte an der horizontalen Mitte anordnen
-
-
+
+
Align Right
Rechts ausrichten
-
+
Align objects to right edges
Objekte am rechten Rand anordnen
-
-
+
+
Align Top
Oben ausrichten
-
+
Align objects to top edges
Objekte am oberen Rand anordnen
-
-
+
+
Align Middle
Mittig ausrichten
-
+
Align objects to vertical centers
Objekte an der vertikalen Mitte anordnen
-
-
+
+
Align Bottom
Unten ausrichten
-
+
Align objects to bottom edges
Objekte am unteren Rand anordnen
-
-
+
+
Center Horizontally
Horizontal zentrieren
-
+
Horizontally center objects in label
Objekte auf dem Etikett horizontal zentrieren
-
-
+
+
Center Vertically
Vertikal zentrieren
-
+
Vertically center objects in label
Objekte auf dem Etikett vertikal zentrieren
-
+
&Contents...
&Inhalt …
-
+
Open gLabels manual
Das gLabels-Handbuch öffnen
-
+
&About...
In&fo …
-
+
About gLabels
Info zu gLabels
-
-
+
+
&File
&Datei
-
+
+
&Edit
&Bearbeiten
-
+
+ Edit
+
+
+
+
+ Select <b>Edit</b> mode
+
+
+
+
+ Select <b>Properties</b> mode
+
+
+
+
+ Select <b>Merge</b> mode
+
+
+
+
+ Select <b>Print</b> mode
+
+
+
+
&View
&Ansicht
-
+
Toolbars
Werkzeugleisten
-
+
&Objects
&Objekte
-
+
&Create
Er&zeugen
-
-
+
+
&Order
&Anordnung
-
-
+
+
&Rotate/Flip
D&rehen/Spiegeln
-
-
+
+
&Alignment
&Ausrichtung
-
-
+
+
Center
Mitte
-
+
&Help
&Hilfe
-
+
&Editor
&Editor
-
+
(modified)
(geändert)
-
+
Save changes to project "%1" before closing?
Änderungen am Dokument »%1« vor dem Schließen speichern?
-
+
Your changes will be lost if you don't save them.
Nicht gespeicherte Änderungen gehen verloren, wenn Sie nicht speichern.
-
+
Save project?
Projekt speichern?
-
+
Paste
Einfügen
-
+
Delete
Löschen
-
+
Create Text
Textobjekt erzeugen
-
+
Create Box
Rechteck-Objekt erzeugen
-
+
Create Line
Linienobjekt erzeugen
-
+
Create Ellipse
Ellipse erzeugen
-
+
Create Image
Bild erzeugen
-
+
Create Barcode
Strichcode erzeugen
@@ -1941,6 +2113,34 @@
glabels::ObjectEditor
+
+
+ No line
+
+
+
+
+ No fill
+
+
+
+
+
+
+ Default
+
+
+
+
+
+ Insert Field
+
+
+
+
+ Key
+
+
Original size
@@ -1951,6 +2151,32 @@
Box object properties
Eigenschaften des Rechteck-Objekts
+
+
+
+
+ line/fill
+
+
+
+
+
+
+
+
+
+ position/size
+
+
+
+
+
+
+
+
+ shadow
+
+
Ellipse object properties
@@ -1961,6 +2187,11 @@
Image object properties
Eigenschaften des Bildobjekts
+
+
+ image
+
+
Line object properties
@@ -1971,11 +2202,26 @@
Text object properties
Eigenschaften des Textobjekts
+
+
+ text
+
+
Barcode object properties
Eigenschaften des Strichcode-Objekts
+
+
+ barcode
+
+
+
+
+ Object properties
+ Objekteigenschaften
+
Line
@@ -2314,6 +2560,501 @@
Bitte geben Sie die Größenwerte für zwei Layouts an.
+
+ glabels::barcode::Backends
+
+
+
+
+ Code 39
+
+
+
+
+
+ Code 39 Extended
+
+
+
+
+
+
+ UPC-A
+
+
+
+
+
+ EAN-13
+
+
+
+
+ POSTNET (any)
+
+
+
+
+ POSTNET-5 (ZIP only)
+
+
+
+
+ POSTNET-9 (ZIP+4)
+
+
+
+
+ POSTNET-11 (DPBC)
+
+
+
+
+ CEPNET
+
+
+
+
+ USPS Intelligent Mail
+
+
+
+
+ IEC16022 (DataMatrix)
+
+
+
+
+ EAN (any)
+
+
+
+
+ EAN-8
+
+
+
+
+ EAN-8+2
+
+
+
+
+ EAN-8+5
+
+
+
+
+ EAN-13+2
+
+
+
+
+ EAN-13+5
+
+
+
+
+ UPC (UPC-A or UPC-E)
+
+
+
+
+ UPC-A +2
+
+
+
+
+ UPC-A +5
+
+
+
+
+
+ UPC-E
+
+
+
+
+ UPC-E +2
+
+
+
+
+ UPC-E +5
+
+
+
+
+
+ ISBN
+
+
+
+
+ ISBN +5
+
+
+
+
+
+ Code 128
+
+
+
+
+ Code 128C
+
+
+
+
+ Code 128B
+
+
+
+
+
+ Interleaved 2 of 5
+
+
+
+
+
+ Codabar
+
+
+
+
+ MSI
+
+
+
+
+ Plessey
+
+
+
+
+
+ Code 93
+
+
+
+
+ IEC18004 (QRCode)
+
+
+
+
+ Austraila Post Standard
+
+
+
+
+ Australia Post Reply Paid
+
+
+
+
+ Australia Post Route Code
+
+
+
+
+ Australia Post Redirect
+
+
+
+
+ Aztec Code
+
+
+
+
+ Aztec Rune
+
+
+
+
+ Code One
+
+
+
+
+ Code 11
+
+
+
+
+ Code 16K
+
+
+
+
+ Code 2 of 5 Matrix
+
+
+
+
+ Code 2 of 5 IATA
+
+
+
+
+ Code 2 of 5 Data Logic
+
+
+
+
+ Code 32 (Italian Pharmacode)
+
+
+
+
+ Code 49
+
+
+
+
+ Code 128 (Mode C supression)
+
+
+
+
+ DAFT Code
+
+
+
+
+ Data Matrix
+
+
+
+
+ Deutsche Post Leitcode
+
+
+
+
+ Deutsche Post Identcode
+
+
+
+
+ Dutch Post KIX Code
+
+
+
+
+ EAN
+
+
+
+
+ Grid Matrix
+
+
+
+
+ GS1-128
+
+
+
+
+ GS1 DataBar-14
+
+
+
+
+ GS1 DataBar-14 Stacked
+
+
+
+
+ GS1 DataBar-14 Stacked Omni.
+
+
+
+
+ GS1 DataBar Extended Stacked
+
+
+
+
+ HIBC Code 128
+
+
+
+
+ HIBC Code 39
+
+
+
+
+ HIBC Data Matrix
+
+
+
+
+ HIBC QR Code
+
+
+
+
+ HIBC PDF417
+
+
+
+
+ HIBC Micro PDF417
+
+
+
+
+ HIBC Aztec Code
+
+
+
+
+ ITF-14
+
+
+
+
+ Japanese Postal
+
+
+
+
+ Korean Postal
+
+
+
+
+ LOGMARS
+
+
+
+
+ Maxicode
+
+
+
+
+ Micro PDF417
+
+
+
+
+ Micro QR Code
+
+
+
+
+ MSI Plessey
+
+
+
+
+ NVE-18
+
+
+
+
+ PDF417
+
+
+
+
+ PDF417 Truncated
+
+
+
+
+ PLANET
+
+
+
+
+ PostNet
+
+
+
+
+ Pharmacode
+
+
+
+
+ Pharmacode 2-track
+
+
+
+
+ Pharmazentral Nummer (PZN)
+
+
+
+
+ QR Code
+
+
+
+
+ Royal Mail 4-State
+
+
+
+
+ Telepen
+
+
+
+
+ Telepen Numeric
+
+
+
+
+ USPS One Code
+
+
+
+
+ UK Plessey
+
+
+
+
+ glabels::model::Model
+
+
+ Untitled
+
+
+
+
+ glabels::model::ModelBarcodeObject
+
+
+ No barcode data
+
+
+
+
+ Invalid barcode data
+
+
+
+
+ glabels::model::ModelTextObject
+
+
+
+ Text
+ Text
+
+
main