diff --git a/README.md b/README.md index 6f42aa8..fc269cc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ -![logo](glabels/icons/48x48/apps/glabels.svg) ![gLabels Label Designer](glabels/images/glabels-label-designer.png) +![Cover Image](docs/images/cover-image.png) + [![Build Status](https://travis-ci.org/jimevins/glabels-qt.svg?branch=master)](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). -![screenshot](docs/images/screenshot.png) - -## 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