Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1c902230fe | |||
| 3cd173a37f | |||
| 45a92eda89 | |||
| 742b80fc47 | |||
| d17bb2e1be | |||
| 3309837080 | |||
| 19a8c246ad | |||
| ce8bbad26c | |||
| 82b264a7a0 | |||
| 90e236f847 | |||
| aba0f11616 | |||
| 41656aef6b | |||
| 7f1fa64114 | |||
| 6c10571ba4 | |||
| f1e50d8574 | |||
| b6cac2d208 |
+178
-20
@@ -1,28 +1,72 @@
|
||||
---
|
||||
Language: Cpp
|
||||
# BasedOnStyle: Google
|
||||
AccessModifierOffset: -8
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignConsecutiveAssignments: true
|
||||
AlignConsecutiveDeclarations: true
|
||||
AlignEscapedNewlinesLeft: true
|
||||
AlignOperands: true
|
||||
AlignTrailingComments: true
|
||||
AlignArrayOfStructures: None
|
||||
AlignConsecutiveAssignments:
|
||||
Enabled: true
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: true
|
||||
AlignConsecutiveBitFields:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: false
|
||||
AlignConsecutiveDeclarations:
|
||||
Enabled: true
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: true
|
||||
AlignConsecutiveMacros:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: false
|
||||
AlignConsecutiveShortCaseStatements:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCaseColons: false
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: Align
|
||||
AlignTrailingComments:
|
||||
Kind: Always
|
||||
OverEmptyLines: 0
|
||||
AllowAllArgumentsOnNextLine: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
AllowShortBlocksOnASingleLine: false
|
||||
AllowBreakBeforeNoexceptSpecifier: Never
|
||||
AllowShortBlocksOnASingleLine: Never
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortCompoundRequirementOnASingleLine: true
|
||||
AllowShortEnumsOnASingleLine: true
|
||||
AllowShortFunctionsOnASingleLine: Inline
|
||||
AllowShortIfStatementsOnASingleLine: false
|
||||
AllowShortIfStatementsOnASingleLine: Never
|
||||
AllowShortLambdasOnASingleLine: All
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
AlwaysBreakTemplateDeclarations: true
|
||||
AlwaysBreakTemplateDeclarations: Yes
|
||||
AttributeMacros:
|
||||
- __capability
|
||||
BinPackArguments: false
|
||||
BinPackParameters: false
|
||||
BitFieldColonSpacing: Both
|
||||
BraceWrapping:
|
||||
AfterCaseLabel: false
|
||||
AfterClass: true
|
||||
AfterControlStatement: true
|
||||
AfterControlStatement: Always
|
||||
AfterEnum: true
|
||||
AfterExternBlock: false
|
||||
AfterFunction: true
|
||||
AfterNamespace: true
|
||||
AfterObjCDeclaration: true
|
||||
@@ -30,62 +74,176 @@ BraceWrapping:
|
||||
AfterUnion: true
|
||||
BeforeCatch: true
|
||||
BeforeElse: true
|
||||
BeforeLambdaBody: false
|
||||
BeforeWhile: false
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: true
|
||||
SplitEmptyRecord: true
|
||||
SplitEmptyNamespace: true
|
||||
BreakAdjacentStringLiterals: true
|
||||
BreakAfterAttributes: Leave
|
||||
BreakAfterJavaFieldAnnotations: false
|
||||
BreakArrays: true
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeConceptDeclarations: Always
|
||||
BreakBeforeBraces: Custom
|
||||
BreakBeforeInlineASMColon: OnlyMultiline
|
||||
BreakBeforeTernaryOperators: true
|
||||
BreakConstructorInitializersBeforeComma: false
|
||||
BreakConstructorInitializers: BeforeColon
|
||||
BreakInheritanceList: BeforeColon
|
||||
BreakStringLiterals: true
|
||||
ColumnLimit: 110
|
||||
CommentPragmas: '^ IWYU pragma:'
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
||||
CompactNamespaces: false
|
||||
ConstructorInitializerIndentWidth: 8
|
||||
ContinuationIndentWidth: 8
|
||||
Cpp11BracedListStyle: true
|
||||
DerivePointerAlignment: true
|
||||
DisableFormat: false
|
||||
EmptyLineAfterAccessModifier: Never
|
||||
EmptyLineBeforeAccessModifier: LogicalBlock
|
||||
ExperimentalAutoDetectBinPacking: false
|
||||
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
|
||||
FixNamespaceComments: false
|
||||
ForEachMacros:
|
||||
- foreach
|
||||
- Q_FOREACH
|
||||
- BOOST_FOREACH
|
||||
IfMacros:
|
||||
- KJ_IF_MAYBE
|
||||
IncludeBlocks: Preserve
|
||||
IncludeCategories:
|
||||
- Regex: '^"[A-Z].*\.h'
|
||||
Priority: 1
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '^<Q[A-Za-z]*\>'
|
||||
Priority: 2
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '^<[a-z]*>'
|
||||
Priority: 3
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '.*'
|
||||
Priority: 4
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
IncludeIsMainRegex: '(Test)?$'
|
||||
IncludeIsMainSourceRegex: ''
|
||||
IndentAccessModifiers: false
|
||||
IndentCaseBlocks: false
|
||||
IndentCaseLabels: false
|
||||
IndentExternBlock: AfterExternBlock
|
||||
IndentGotoLabels: true
|
||||
IndentPPDirectives: None
|
||||
IndentRequiresClause: true
|
||||
IndentWidth: 8
|
||||
IndentWrappedFunctionNames: false
|
||||
InsertBraces: false
|
||||
InsertNewlineAtEOF: false
|
||||
InsertTrailingCommas: None
|
||||
IntegerLiteralSeparator:
|
||||
Binary: 0
|
||||
BinaryMinDigits: 0
|
||||
Decimal: 0
|
||||
DecimalMinDigits: 0
|
||||
Hex: 0
|
||||
HexMinDigits: 0
|
||||
JavaScriptQuotes: Leave
|
||||
JavaScriptWrapImports: true
|
||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||
KeepEmptyLinesAtEOF: false
|
||||
LambdaBodyIndentation: Signature
|
||||
LineEnding: DeriveLF
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
MaxEmptyLinesToKeep: 2
|
||||
NamespaceIndentation: All
|
||||
ObjCBinPackProtocolList: Auto
|
||||
ObjCBlockIndentWidth: 2
|
||||
ObjCBreakBeforeNestedBlockParam: true
|
||||
ObjCSpaceAfterProperty: false
|
||||
ObjCSpaceBeforeProtocolList: false
|
||||
PackConstructorInitializers: NextLine
|
||||
PenaltyBreakAssignment: 2
|
||||
PenaltyBreakBeforeFirstCallParameter: 1
|
||||
PenaltyBreakComment: 300
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyBreakOpenParenthesis: 0
|
||||
PenaltyBreakScopeResolution: 500
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyBreakTemplateDeclaration: 10
|
||||
PenaltyExcessCharacter: 1000000
|
||||
PenaltyIndentedWhitespace: 0
|
||||
PenaltyReturnTypeOnItsOwnLine: 200
|
||||
PointerAlignment: Left
|
||||
PPIndentWidth: -1
|
||||
QualifierAlignment: Leave
|
||||
ReferenceAlignment: Pointer
|
||||
ReflowComments: true
|
||||
SortIncludes: true
|
||||
RemoveBracesLLVM: false
|
||||
RemoveParentheses: Leave
|
||||
RemoveSemicolon: false
|
||||
RequiresClausePosition: OwnLine
|
||||
RequiresExpressionIndentation: OuterScope
|
||||
SeparateDefinitionBlocks: Leave
|
||||
ShortNamespaceLines: 1
|
||||
SkipMacroDefinitionBody: false
|
||||
SortIncludes: CaseSensitive
|
||||
SortJavaStaticImport: Before
|
||||
SortUsingDeclarations: LexicographicNumeric
|
||||
SpaceAfterCStyleCast: false
|
||||
SpaceAfterLogicalNot: false
|
||||
SpaceAfterTemplateKeyword: true
|
||||
SpaceAroundPointerQualifiers: Default
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeCaseColon: false
|
||||
SpaceBeforeCpp11BracedList: false
|
||||
SpaceBeforeCtorInitializerColon: true
|
||||
SpaceBeforeInheritanceColon: true
|
||||
SpaceBeforeJsonColon: false
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceInEmptyParentheses: false
|
||||
SpaceBeforeParensOptions:
|
||||
AfterControlStatements: true
|
||||
AfterForeachMacros: true
|
||||
AfterFunctionDefinitionName: false
|
||||
AfterFunctionDeclarationName: false
|
||||
AfterIfMacros: true
|
||||
AfterOverloadedOperator: false
|
||||
AfterPlacementOperator: true
|
||||
AfterRequiresInClause: false
|
||||
AfterRequiresInExpression: false
|
||||
BeforeNonEmptyParentheses: false
|
||||
SpaceBeforeRangeBasedForLoopColon: true
|
||||
SpaceBeforeSquareBrackets: false
|
||||
SpaceInEmptyBlock: false
|
||||
SpacesBeforeTrailingComments: 1
|
||||
SpacesInAngles: false
|
||||
SpacesInAngles: Never
|
||||
SpacesInContainerLiterals: true
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInParentheses: true
|
||||
SpacesInLineCommentPrefix:
|
||||
Minimum: 1
|
||||
Maximum: -1
|
||||
SpacesInParens: Custom
|
||||
SpacesInParensOptions:
|
||||
InCStyleCasts: false
|
||||
InConditionalStatements: true
|
||||
InEmptyParentheses: false
|
||||
Other: true
|
||||
SpacesInSquareBrackets: false
|
||||
Standard: Cpp11
|
||||
Standard: c++20
|
||||
StatementAttributeLikeMacros:
|
||||
- Q_EMIT
|
||||
StatementMacros:
|
||||
- Q_UNUSED
|
||||
- QT_REQUIRE_VERSION
|
||||
TabWidth: 8
|
||||
UseTab: ForIndentation
|
||||
UseTab: Never
|
||||
VerilogBreakBetweenInstancePorts: true
|
||||
WhitespaceSensitiveMacros:
|
||||
- BOOST_PP_STRINGIZE
|
||||
- CF_SWIFT_NAME
|
||||
- NS_SWIFT_NAME
|
||||
- PP_STRINGIZE
|
||||
- STRINGIZE
|
||||
...
|
||||
|
||||
|
||||
@@ -23,23 +23,18 @@ jobs:
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
build_type: Release
|
||||
c_compiler: gcc
|
||||
cpp_compiler: g++
|
||||
- os: ubuntu-latest
|
||||
build_type: Release
|
||||
c_compiler: clang
|
||||
cpp_compiler: clang++
|
||||
- os: ubuntu-22.04
|
||||
build_type: Release
|
||||
c_compiler: gcc
|
||||
cpp_compiler: g++
|
||||
- os: windows-latest
|
||||
build_type: Release
|
||||
c_compiler: cl
|
||||
cpp_compiler: cl
|
||||
- os: macos-latest
|
||||
build_type: Release
|
||||
c_compiler: clang
|
||||
cpp_compiler: clang++
|
||||
|
||||
@@ -105,7 +100,7 @@ jobs:
|
||||
with:
|
||||
version: '6.2.*'
|
||||
install-deps: 'true'
|
||||
archives: 'qtbase qtsvg qttools icu qttranslations'
|
||||
archives: 'qtbase qtsvg qttools icu qttranslations qtwayland'
|
||||
|
||||
- name: Set reusable strings
|
||||
id: strings
|
||||
@@ -118,32 +113,162 @@ jobs:
|
||||
cmake -B ${{ steps.strings.outputs.build-output-dir }}
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }}
|
||||
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
-DCMAKE_TOOLCHAIN_FILE=${{ env.TOOLCHAIN_FILE }}
|
||||
-S ${{ github.workspace }}
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }}
|
||||
run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config Release
|
||||
|
||||
- name: Test (Ubuntu)
|
||||
if: startsWith( matrix.os, 'ubuntu-' )
|
||||
working-directory: ${{ steps.strings.outputs.build-output-dir }}
|
||||
run: |
|
||||
xvfb-run ./glabels/glabels-qt --Version
|
||||
xvfb-run ctest --build-config ${{ matrix.build_type }}
|
||||
xvfb-run -a ./glabels/glabels-qt --Version
|
||||
xvfb-run -a ctest --build-config Release
|
||||
|
||||
- name: Test (Windows)
|
||||
if: startsWith( matrix.os, 'windows-' )
|
||||
working-directory: ${{ steps.strings.outputs.build-output-dir }}
|
||||
env:
|
||||
QT_ASSUME_STDERR_HAS_CONSOLE: 1
|
||||
run: |
|
||||
ctest --build-config ${{ matrix.build_type }}
|
||||
./glabels-batch/Release/glabels-batch-qt --Version
|
||||
ctest --build-config Release
|
||||
|
||||
- name: Test (MacOS)
|
||||
if: startsWith( matrix.os, 'macos-' )
|
||||
working-directory: ${{ steps.strings.outputs.build-output-dir }}
|
||||
run: |
|
||||
./glabels/glabels-qt --Version
|
||||
ctest --build-config ${{ matrix.build_type }}
|
||||
ctest --build-config Release
|
||||
|
||||
- name: Install render test dependencies (Ubuntu-latest)
|
||||
if: startsWith( matrix.os, 'ubuntu-latest' )
|
||||
working-directory: ${{ steps.strings.outputs.build-output-dir }}
|
||||
run: |
|
||||
sudo apt-get -y install xwayland-run
|
||||
sudo apt-get -y install comparepdf
|
||||
|
||||
- name: Install render test dependencies (Windows)
|
||||
if: startsWith( matrix.os, 'windows' )
|
||||
working-directory: ${{ steps.strings.outputs.build-output-dir }}
|
||||
run: |
|
||||
choco install diff-pdf
|
||||
|
||||
- name: Install render test dependencies (MacOS)
|
||||
if: startsWith( matrix.os, 'macos' )
|
||||
working-directory: ${{ steps.strings.outputs.build-output-dir }}
|
||||
run: |
|
||||
brew install diff-pdf
|
||||
|
||||
- name: Render tests (Ubuntu-latest)
|
||||
if: startsWith( matrix.os, 'ubuntu-latest' )
|
||||
working-directory: ${{ steps.strings.outputs.build-output-dir }}
|
||||
shell: bash
|
||||
env:
|
||||
TEST_DIR: ${{ github.workspace }}/test-data
|
||||
run: |
|
||||
set +e
|
||||
run-x() { xvfb-run -a "$@"; }
|
||||
run-w() { wlheadless-run -c weston --log=/dev/null -- "$@"; }
|
||||
#
|
||||
#
|
||||
echo "================"
|
||||
echo "X11 render tests"
|
||||
echo "================"
|
||||
run-x ./glabels-batch/glabels-batch-qt --Version
|
||||
#
|
||||
# echo "-- Available fonts (X) -------------------------------------------------"
|
||||
# run-x fc-list : family
|
||||
# echo "------------------------------------------------------------------------"
|
||||
#
|
||||
echo "-----------------------------------"
|
||||
run-x ./glabels-batch/glabels-batch-qt -o simple-shapes-x.pdf "$TEST_DIR/simple-shapes.glabels"
|
||||
comparepdf -ca -v2 "$TEST_DIR/simple-shapes.pdf" simple-shapes-x.pdf
|
||||
echo "-----------------------------------"
|
||||
run-x ./glabels-batch/glabels-batch-qt -o simple-code39-x.pdf "$TEST_DIR/simple-code39.glabels"
|
||||
comparepdf -ca -v2 "$TEST_DIR/simple-code39.pdf" simple-code39-x.pdf
|
||||
echo "-----------------------------------"
|
||||
run-x ./glabels-batch/glabels-batch-qt -o simple-text-liberation-sans-x.pdf "$TEST_DIR/simple-text-liberation-sans.glabels"
|
||||
comparepdf -ca -v2 "$TEST_DIR/simple-text-liberation-sans.pdf" simple-text-liberation-sans-x.pdf
|
||||
echo "-----------------------------------"
|
||||
run-x ./glabels-batch/glabels-batch-qt -o simple-text-liberation-serif-x.pdf "$TEST_DIR/simple-text-liberation-serif.glabels"
|
||||
comparepdf -ca -v2 "$TEST_DIR/simple-text-liberation-serif.pdf" simple-text-liberation-serif-x.pdf
|
||||
echo "-----------------------------------"
|
||||
#
|
||||
#
|
||||
echo "===================="
|
||||
echo "Wayland render tests"
|
||||
echo "===================="
|
||||
run-w ./glabels-batch/glabels-batch-qt --Version
|
||||
#
|
||||
# echo "-- Available fonts (X) -------------------------------------------------"
|
||||
# run-w fc-list : family
|
||||
# echo "------------------------------------------------------------------------"
|
||||
#
|
||||
echo "-----------------------------------"
|
||||
run-w ./glabels-batch/glabels-batch-qt -o simple-shapes-w.pdf "$TEST_DIR/simple-shapes.glabels"
|
||||
comparepdf -ca -v2 "$TEST_DIR/simple-shapes.pdf" simple-shapes-w.pdf
|
||||
echo "-----------------------------------"
|
||||
run-w ./glabels-batch/glabels-batch-qt -o simple-code39-w.pdf "$TEST_DIR/simple-code39.glabels"
|
||||
comparepdf -ca -v2 "$TEST_DIR/simple-code39.pdf" simple-code39-w.pdf
|
||||
echo "-----------------------------------"
|
||||
run-w ./glabels-batch/glabels-batch-qt -o simple-text-liberation-sans-w.pdf "$TEST_DIR/simple-text-liberation-sans.glabels"
|
||||
comparepdf -ca -v2 "$TEST_DIR/simple-text-liberation-sans.pdf" simple-text-liberation-sans-w.pdf
|
||||
echo "-----------------------------------"
|
||||
run-w ./glabels-batch/glabels-batch-qt -o simple-text-liberation-serif-w.pdf "$TEST_DIR/simple-text-liberation-serif.glabels"
|
||||
comparepdf -ca -v2 "$TEST_DIR/simple-text-liberation-serif.pdf" simple-text-liberation-serif-w.pdf
|
||||
echo "-----------------------------------"
|
||||
|
||||
- name: Render tests (Windows)
|
||||
if: startsWith( matrix.os, 'windows' )
|
||||
working-directory: ${{ steps.strings.outputs.build-output-dir }}
|
||||
shell: pwsh
|
||||
env:
|
||||
TEST_DIR: ${{ github.workspace }}/test-data
|
||||
QT_ASSUME_STDERR_HAS_CONSOLE: 1
|
||||
run: |
|
||||
set +e
|
||||
./glabels-batch/Release/glabels-batch-qt --Version
|
||||
echo "-----------------------------------"
|
||||
./glabels-batch/Release/glabels-batch-qt -o simple-shapes-windows.pdf "$env:TEST_DIR/simple-shapes.glabels" 2>&1
|
||||
diff-pdf -v "$env:TEST_DIR/simple-shapes.pdf" simple-shapes-windows.pdf 2>&1
|
||||
echo "-----------------------------------"
|
||||
./glabels-batch/Release/glabels-batch-qt -o simple-code39-windows.pdf "$env:TEST_DIR/simple-code39.glabels" 2>&1
|
||||
diff-pdf -v "$env:TEST_DIR/simple-code39.pdf" simple-code39-windows.pdf 2>&1
|
||||
echo "-----------------------------------"
|
||||
#
|
||||
# TODO: Create text-based rendering tests using fonts available on Windows
|
||||
#
|
||||
|
||||
- name: Render tests (MacOS)
|
||||
if: startsWith( matrix.os, 'macos' )
|
||||
working-directory: ${{ steps.strings.outputs.build-output-dir }}
|
||||
shell: bash
|
||||
env:
|
||||
TEST_DIR: ${{ github.workspace }}/test-data
|
||||
run: |
|
||||
set +e
|
||||
./glabels-batch/glabels-batch-qt --Version
|
||||
echo "-----------------------------------"
|
||||
./glabels-batch/glabels-batch-qt -o simple-shapes-mac.pdf "$TEST_DIR/simple-shapes.glabels"
|
||||
diff-pdf -v "$TEST_DIR/simple-shapes.pdf" simple-shapes-mac.pdf
|
||||
echo "-----------------------------------"
|
||||
./glabels-batch/glabels-batch-qt -o simple-code39-mac.pdf "$TEST_DIR/simple-code39.glabels"
|
||||
diff-pdf -v "$TEST_DIR/simple-code39.pdf" simple-code39-mac.pdf
|
||||
echo "-----------------------------------"
|
||||
#
|
||||
# TODO: Create text-based rendering tests using fonts available on MacOS
|
||||
#
|
||||
|
||||
- name: Upload render tests for manual inspection
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: render-tests-${{ matrix.os }}-${{ matrix.cpp_compiler }}-${{ github.run_number }}
|
||||
path: ${{ steps.strings.outputs.build-output-dir }}/*.pdf
|
||||
|
||||
|
||||
# - name: Tmate
|
||||
# uses: mxschmitt/action-tmate@v3
|
||||
|
||||
+14
-2
@@ -17,6 +17,7 @@ set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/"
|
||||
set (ORGANIZATION_NAME "glabels.org")
|
||||
set (ORGANIZATION_DOMAIN "glabels.org")
|
||||
set (APPLICATION_NAME "glabels-qt")
|
||||
set (DESKTOP_FILE_NAME "org.glabels.glabels-qt")
|
||||
|
||||
set (WEBSITE "glabels.org")
|
||||
set (BUG_WEBSITE "https://github.com/j-evins/glabels-qt/issues")
|
||||
@@ -115,7 +116,7 @@ if (MINGW)
|
||||
set (CMAKE_PREFIX_PATH ${MINGW_BASE_DIR} )
|
||||
endif ()
|
||||
|
||||
find_package (Qt6 6.2 REQUIRED COMPONENTS Core Gui Widgets PrintSupport Xml Svg LinguistTools Test)
|
||||
find_package (Qt6 6.2 REQUIRED COMPONENTS Concurrent Core Gui Widgets PrintSupport Xml Svg LinguistTools Test)
|
||||
|
||||
if (WIN32)
|
||||
# Locate Qt directories
|
||||
@@ -140,7 +141,17 @@ find_package (Qt5Test 5.6 QUIET)
|
||||
if (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
|
||||
#
|
||||
# Uncomment to compile everything with aggressively pedantic options
|
||||
# (not recommended -- only for testing -- also not portable)
|
||||
# (not recommended -- only for testing)
|
||||
#
|
||||
#add_compile_options("-Wall" "-Wextra" "-Wpedantic" "-Wno-unused-parameter" "-Werror")
|
||||
|
||||
# Uncomment to always compile with debug symbols
|
||||
add_compile_options("-g")
|
||||
endif ()
|
||||
if (${CMAKE_CXX_COMPILER_ID} MATCHES "^.*Clang$") # "Clang", "AppleClang", etc.
|
||||
#
|
||||
# Uncomment to compile everything with aggressively pedantic options
|
||||
# (not recommended -- only for testing)
|
||||
#
|
||||
#add_compile_options("-Wall" "-Wextra" "-Wpedantic" "-Wno-unused-parameter" "-Werror")
|
||||
|
||||
@@ -156,6 +167,7 @@ if (Qt6Test_FOUND)
|
||||
enable_testing ()
|
||||
endif ()
|
||||
|
||||
|
||||
#=======================================
|
||||
# Subdirectories
|
||||
#=======================================
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
>[!IMPORTANT]
|
||||
>This repo is for *glabels-qt*, NOT the legacy *glabels-3* version (which I have not maintained since 2018).
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
@@ -1,35 +1,34 @@
|
||||
/* Backends.cpp
|
||||
*
|
||||
* Copyright (C) 2014 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "Backends.h"
|
||||
|
||||
#include "GnuBarcode.h"
|
||||
#include "QrEncode.h"
|
||||
#include "Zint.h"
|
||||
|
||||
#include "glbarcode/Factory.h"
|
||||
// Backends.cpp
|
||||
//
|
||||
// Copyright (C) 2014 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace barcode
|
||||
#include "Backends.hpp"
|
||||
|
||||
#include "GnuBarcode.hpp"
|
||||
#include "QrEncode.hpp"
|
||||
#include "Zint.hpp"
|
||||
|
||||
#include "glbarcode/Factory.hpp"
|
||||
|
||||
|
||||
namespace glabels::barcode
|
||||
{
|
||||
|
||||
//
|
||||
@@ -556,7 +555,7 @@ namespace glabels
|
||||
|
||||
const Style& Backends::style( const QString& backendId, const QString& StyleId )
|
||||
{
|
||||
foreach ( const Style& bcStyle, mStyleList )
|
||||
for ( const Style& bcStyle : mStyleList )
|
||||
{
|
||||
if ( (bcStyle.backendId() == backendId) && (bcStyle.id() == StyleId) )
|
||||
{
|
||||
@@ -595,5 +594,4 @@ namespace glabels
|
||||
mStyleList.append( style );
|
||||
}
|
||||
|
||||
} // namespace barcode
|
||||
} //namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
/* Backends.h
|
||||
*
|
||||
* Copyright (C) 2014 Jaye 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 barcode_Backends_h
|
||||
#define barcode_Backends_h
|
||||
|
||||
|
||||
#include "Style.h"
|
||||
|
||||
#include <QList>
|
||||
#include <QMap>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace barcode
|
||||
{
|
||||
|
||||
///
|
||||
/// Backends Database
|
||||
///
|
||||
class Backends : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
Backends();
|
||||
|
||||
public:
|
||||
static void init();
|
||||
|
||||
/////////////////////////////////
|
||||
// Public Methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static const QStringList& backendList();
|
||||
static QString backendName( const QString& backendId );
|
||||
static const QList<Style>& styleList();
|
||||
static const Style& defaultStyle();
|
||||
static const Style& style( const QString& backendId, const QString& StyleId );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
static void registerBackend( const QString &backendId, const QString &backendName );
|
||||
|
||||
static void registerStyle( const QString& id,
|
||||
const QString& backendId,
|
||||
const QString& name,
|
||||
bool canText,
|
||||
bool textOptional,
|
||||
bool canChecksum,
|
||||
bool checksumOptional,
|
||||
const QString& defaultDigits,
|
||||
bool canFreeForm,
|
||||
int preferedN );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Members
|
||||
/////////////////////////////////
|
||||
static QStringList mBackendIdList;
|
||||
static QMap<QString,QString> mBackendNameMap;
|
||||
|
||||
static QList<Style> mStyleList;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // barcode_Backends_h
|
||||
@@ -0,0 +1,95 @@
|
||||
// Backends.hpp
|
||||
//
|
||||
// Copyright (C) 2014 Jaye 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 barcode_Backends_hpp
|
||||
#define barcode_Backends_hpp
|
||||
|
||||
|
||||
#include "Style.hpp"
|
||||
|
||||
#include <QList>
|
||||
#include <QMap>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
|
||||
namespace glabels::barcode
|
||||
{
|
||||
|
||||
///
|
||||
/// Backends Database
|
||||
///
|
||||
class Backends : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
Backends();
|
||||
|
||||
public:
|
||||
static void init();
|
||||
|
||||
/////////////////////////////////
|
||||
// Public Methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static const QStringList& backendList();
|
||||
static QString backendName( const QString& backendId );
|
||||
static const QList<Style>& styleList();
|
||||
static const Style& defaultStyle();
|
||||
static const Style& style( const QString& backendId, const QString& StyleId );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
static void registerBackend( const QString &backendId, const QString &backendName );
|
||||
|
||||
static void registerStyle( const QString& id,
|
||||
const QString& backendId,
|
||||
const QString& name,
|
||||
bool canText,
|
||||
bool textOptional,
|
||||
bool canChecksum,
|
||||
bool checksumOptional,
|
||||
const QString& defaultDigits,
|
||||
bool canFreeForm,
|
||||
int preferedN );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Members
|
||||
/////////////////////////////////
|
||||
static QStringList mBackendIdList;
|
||||
static QMap<QString,QString> mBackendNameMap;
|
||||
|
||||
static QList<Style> mStyleList;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // barcode_Backends_hpp
|
||||
@@ -37,7 +37,7 @@ set (barcode_sources
|
||||
)
|
||||
|
||||
set (barcode_qobject_headers
|
||||
Backends.h
|
||||
Backends.hpp
|
||||
)
|
||||
|
||||
qt6_wrap_cpp (barcode_moc_sources ${barcode_qobject_headers})
|
||||
@@ -50,10 +50,9 @@ add_library (Barcode STATIC
|
||||
${barcode_moc_sources}
|
||||
)
|
||||
|
||||
#target_compile_features (Barcode
|
||||
# PUBLIC cxx_std_11
|
||||
#)
|
||||
set_property (TARGET Barcode PROPERTY CXX_STANDARD 11)
|
||||
target_compile_features (Barcode
|
||||
PUBLIC cxx_std_20
|
||||
)
|
||||
|
||||
target_include_directories (Barcode
|
||||
PUBLIC ..
|
||||
|
||||
@@ -1,31 +1,34 @@
|
||||
/* GnuBarcode.cpp
|
||||
*
|
||||
* Copyright (C) 2017 Jaye 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/>.
|
||||
*/
|
||||
// GnuBarcode.cpp
|
||||
//
|
||||
// Copyright (C) 2017 Jaye 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/>.
|
||||
//
|
||||
|
||||
#if HAVE_GNU_BARCODE
|
||||
|
||||
#include "GnuBarcode.h"
|
||||
|
||||
#include <QtDebug>
|
||||
#include <barcode.h>
|
||||
#include "GnuBarcode.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
#include <cctype>
|
||||
|
||||
#include <barcode.h>
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
@@ -34,11 +37,7 @@ namespace
|
||||
}
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace barcode
|
||||
{
|
||||
namespace GnuBarcode
|
||||
namespace glabels::barcode::GnuBarcode
|
||||
{
|
||||
|
||||
bool Base::isAscii( const std::string& data ) const
|
||||
@@ -903,7 +902,6 @@ namespace glabels
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // HAVE_GNU_BARCODE
|
||||
|
||||
@@ -1,424 +0,0 @@
|
||||
/* GnuBarcode.h
|
||||
*
|
||||
* Copyright (C) 2017 Jaye 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 barcode_GnuBarcode_h
|
||||
#define barcode_GnuBarcode_h
|
||||
|
||||
#if HAVE_GNU_BARCODE
|
||||
|
||||
#include "glbarcode/Barcode1dBase.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace barcode
|
||||
{
|
||||
namespace GnuBarcode
|
||||
{
|
||||
|
||||
/**
|
||||
* GnuBarcode::Base base class for all GNU Barcodes
|
||||
*
|
||||
* Implements glbarcode::Barcode1dBase.
|
||||
*/
|
||||
class Base : public glbarcode::Barcode1dBase
|
||||
{
|
||||
protected:
|
||||
int flags;
|
||||
|
||||
bool isAscii( const std::string& data ) const;
|
||||
|
||||
bool isNumericLengthValid( const std::string& data,
|
||||
unsigned int nMin,
|
||||
unsigned int nMax ) const;
|
||||
|
||||
bool isNumericLength1Valid( const std::string& data,
|
||||
unsigned int nMin,
|
||||
unsigned int nMax ) const;
|
||||
|
||||
bool isNumericLength2Valid( const std::string& data,
|
||||
unsigned int nMin,
|
||||
unsigned int nMax ) const;
|
||||
|
||||
void vectorize( const std::string& encodedData,
|
||||
const std::string& displayText,
|
||||
const std::string& cookedData,
|
||||
double& w,
|
||||
double& h ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN Barcode (Any)
|
||||
*/
|
||||
class Ean : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN-8 Barcode
|
||||
*/
|
||||
class Ean8 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN-8+2 Barcode
|
||||
*/
|
||||
class Ean8_2 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN-8+5 Barcode
|
||||
*/
|
||||
class Ean8_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN-13 Barcode
|
||||
*/
|
||||
class Ean13 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN-13+2 Barcode
|
||||
*/
|
||||
class Ean13_2 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN-13+5 Barcode
|
||||
*/
|
||||
class Ean13_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC Barcode (Any)
|
||||
*/
|
||||
class Upc : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-A Barcode
|
||||
*/
|
||||
class UpcA : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-A+2 Barcode
|
||||
*/
|
||||
class UpcA_2 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-A+5 Barcode
|
||||
*/
|
||||
class UpcA_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-E Barcode
|
||||
*/
|
||||
class UpcE : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-E+2 Barcode
|
||||
*/
|
||||
class UpcE_2 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-E+5 Barcode
|
||||
*/
|
||||
class UpcE_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* ISBN Barcode
|
||||
*/
|
||||
class Isbn : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* ISBN+5 Barcode
|
||||
*/
|
||||
class Isbn_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code39 Barcode
|
||||
*/
|
||||
class Code39 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code128 Barcode
|
||||
*/
|
||||
class Code128 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code128C Barcode
|
||||
*/
|
||||
class Code128C : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code128B Barcode
|
||||
*/
|
||||
class Code128B : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* I25 Barcode
|
||||
*/
|
||||
class I25 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* CBR Barcode
|
||||
*/
|
||||
class Cbr : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* MSI Barcode
|
||||
*/
|
||||
class Msi : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* PLS Barcode
|
||||
*/
|
||||
class Pls : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code93 Barcode
|
||||
*/
|
||||
class Code93 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // HAVE_GNU_BARCODE
|
||||
|
||||
#endif // barcode_GnuBarcode_h
|
||||
@@ -0,0 +1,419 @@
|
||||
// GnuBarcode.hpp
|
||||
//
|
||||
// Copyright (C) 2017 Jaye 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 barcode_GnuBarcode_hpp
|
||||
#define barcode_GnuBarcode_hpp
|
||||
|
||||
#if HAVE_GNU_BARCODE
|
||||
|
||||
|
||||
#include "glbarcode/Barcode1dBase.hpp"
|
||||
|
||||
|
||||
namespace glabels::barcode::GnuBarcode
|
||||
{
|
||||
|
||||
/**
|
||||
* GnuBarcode::Base base class for all GNU Barcodes
|
||||
*
|
||||
* Implements glbarcode::Barcode1dBase.
|
||||
*/
|
||||
class Base : public glbarcode::Barcode1dBase
|
||||
{
|
||||
protected:
|
||||
int flags;
|
||||
|
||||
bool isAscii( const std::string& data ) const;
|
||||
|
||||
bool isNumericLengthValid( const std::string& data,
|
||||
unsigned int nMin,
|
||||
unsigned int nMax ) const;
|
||||
|
||||
bool isNumericLength1Valid( const std::string& data,
|
||||
unsigned int nMin,
|
||||
unsigned int nMax ) const;
|
||||
|
||||
bool isNumericLength2Valid( const std::string& data,
|
||||
unsigned int nMin,
|
||||
unsigned int nMax ) const;
|
||||
|
||||
void vectorize( const std::string& encodedData,
|
||||
const std::string& displayText,
|
||||
const std::string& cookedData,
|
||||
double& w,
|
||||
double& h ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN Barcode (Any)
|
||||
*/
|
||||
class Ean : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN-8 Barcode
|
||||
*/
|
||||
class Ean8 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN-8+2 Barcode
|
||||
*/
|
||||
class Ean8_2 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN-8+5 Barcode
|
||||
*/
|
||||
class Ean8_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN-13 Barcode
|
||||
*/
|
||||
class Ean13 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN-13+2 Barcode
|
||||
*/
|
||||
class Ean13_2 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* EAN-13+5 Barcode
|
||||
*/
|
||||
class Ean13_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC Barcode (Any)
|
||||
*/
|
||||
class Upc : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-A Barcode
|
||||
*/
|
||||
class UpcA : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-A+2 Barcode
|
||||
*/
|
||||
class UpcA_2 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-A+5 Barcode
|
||||
*/
|
||||
class UpcA_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-E Barcode
|
||||
*/
|
||||
class UpcE : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-E+2 Barcode
|
||||
*/
|
||||
class UpcE_2 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* UPC-E+5 Barcode
|
||||
*/
|
||||
class UpcE_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* ISBN Barcode
|
||||
*/
|
||||
class Isbn : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* ISBN+5 Barcode
|
||||
*/
|
||||
class Isbn_5 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code39 Barcode
|
||||
*/
|
||||
class Code39 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code128 Barcode
|
||||
*/
|
||||
class Code128 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code128C Barcode
|
||||
*/
|
||||
class Code128C : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code128B Barcode
|
||||
*/
|
||||
class Code128B : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* I25 Barcode
|
||||
*/
|
||||
class I25 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* CBR Barcode
|
||||
*/
|
||||
class Cbr : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* MSI Barcode
|
||||
*/
|
||||
class Msi : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* PLS Barcode
|
||||
*/
|
||||
class Pls : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Code93 Barcode
|
||||
*/
|
||||
class Code93 : public Base
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
protected:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
std::string encode( const std::string& cookedData ) override;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // HAVE_GNU_BARCODE
|
||||
|
||||
#endif // barcode_GnuBarcode_hpp
|
||||
@@ -1,35 +1,32 @@
|
||||
/* QrEncode.cpp
|
||||
*
|
||||
* Copyright (C) 2017 Jaye 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/>.
|
||||
*/
|
||||
// QrEncode.cpp
|
||||
//
|
||||
// Copyright (C) 2017 Jaye 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/>.
|
||||
//
|
||||
|
||||
#if HAVE_QRENCODE
|
||||
|
||||
#include "QrEncode.h"
|
||||
|
||||
#include "QrEncode.hpp"
|
||||
|
||||
#include <qrencode.h>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace barcode
|
||||
{
|
||||
namespace QrEncode
|
||||
namespace glabels::barcode::QrEncode
|
||||
{
|
||||
|
||||
/*
|
||||
@@ -85,8 +82,6 @@ namespace glabels
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // HAVE_QRENCODE
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
/* QrEncode.h
|
||||
*
|
||||
* Copyright (C) 2017 Jaye 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 barcode_QrEncode_h
|
||||
#define barcode_QrEncode_h
|
||||
|
||||
#if HAVE_QRENCODE
|
||||
|
||||
#include "glbarcode/Barcode2dBase.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace barcode
|
||||
{
|
||||
namespace QrEncode
|
||||
{
|
||||
|
||||
/**
|
||||
* QrEncode::QrCode QR Code Barcode
|
||||
*
|
||||
* Implements glbarcode::Barcode2dBase.
|
||||
*/
|
||||
class QrCode : public glbarcode::Barcode2dBase
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
private:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
|
||||
bool encode( const std::string& cookedData,
|
||||
glbarcode::Matrix<bool>& encodedData ) override;
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // HAVE_QRENCODE
|
||||
|
||||
#endif // barcode_QrEncode_h
|
||||
@@ -0,0 +1,55 @@
|
||||
// QrEncode.hpp
|
||||
//
|
||||
// Copyright (C) 2017 Jaye 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 barcode_QrEncode_hpp
|
||||
#define barcode_QrEncode_hpp
|
||||
|
||||
#if HAVE_QRENCODE
|
||||
|
||||
|
||||
#include "glbarcode/Barcode2dBase.hpp"
|
||||
|
||||
|
||||
namespace glabels::barcode::QrEncode
|
||||
{
|
||||
|
||||
///
|
||||
/// QrEncode::QrCode QR Code Barcode
|
||||
///
|
||||
/// Implements glbarcode::Barcode2dBase.
|
||||
///
|
||||
class QrCode : public glbarcode::Barcode2dBase
|
||||
{
|
||||
public:
|
||||
static Barcode* create();
|
||||
|
||||
private:
|
||||
bool validate( const std::string& rawData ) override;
|
||||
|
||||
bool encode( const std::string& cookedData,
|
||||
glbarcode::Matrix<bool>& encodedData ) override;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // HAVE_QRENCODE
|
||||
|
||||
#endif // barcode_QrEncode_hpp
|
||||
+26
-28
@@ -1,31 +1,30 @@
|
||||
/* Style.cpp
|
||||
*
|
||||
* Copyright (C) 2013 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "Style.h"
|
||||
|
||||
#include "Backends.h"
|
||||
// Style.cpp
|
||||
//
|
||||
// Copyright (C) 2013 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace barcode
|
||||
#include "Style.hpp"
|
||||
|
||||
#include "Backends.hpp"
|
||||
|
||||
|
||||
namespace glabels::barcode
|
||||
{
|
||||
|
||||
///
|
||||
@@ -221,5 +220,4 @@ namespace glabels
|
||||
return (mBackendId != other.mBackendId) || (mId != other.mId);
|
||||
}
|
||||
|
||||
} // namespace barcode
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
/* Style.h
|
||||
*
|
||||
* Copyright (C) 2013 Jaye 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 barcode_Style_h
|
||||
#define barcode_Style_h
|
||||
|
||||
|
||||
#include <QString>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace barcode
|
||||
{
|
||||
|
||||
///
|
||||
/// Style Type
|
||||
///
|
||||
class Style
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
Style ();
|
||||
|
||||
Style ( const QString& id,
|
||||
const QString& backendId,
|
||||
const QString& name,
|
||||
bool canText,
|
||||
bool textOptional,
|
||||
bool canChecksum,
|
||||
bool checksumOptional,
|
||||
const QString& defaultDigits,
|
||||
bool canFreeform,
|
||||
int preferedN );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Properties
|
||||
/////////////////////////////////
|
||||
const QString& id() const;
|
||||
|
||||
QString fullId() const;
|
||||
|
||||
const QString& backendId() const;
|
||||
|
||||
const QString& name() const;
|
||||
|
||||
QString fullName() const;
|
||||
|
||||
bool canText() const;
|
||||
|
||||
bool textOptional() const;
|
||||
|
||||
bool canChecksum() const;
|
||||
|
||||
bool checksumOptional() const;
|
||||
|
||||
const QString& defaultDigits() const;
|
||||
|
||||
bool canFreeform() const;
|
||||
|
||||
int preferedN() const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
QString exampleDigits( int n ) const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Operators
|
||||
/////////////////////////////////
|
||||
public:
|
||||
bool operator!=( const Style& other ) const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
QString mId;
|
||||
QString mBackendId;
|
||||
QString mName;
|
||||
bool mCanText;
|
||||
bool mTextOptional;
|
||||
bool mCanChecksum;
|
||||
bool mChecksumOptional;
|
||||
QString mDefaultDigits;
|
||||
bool mCanFreeform;
|
||||
int mPreferedN;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // barcode_Style_h
|
||||
@@ -0,0 +1,117 @@
|
||||
// Style.hpp
|
||||
//
|
||||
// Copyright (C) 2013 Jaye 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 barcode_Style_hpp
|
||||
#define barcode_Style_hpp
|
||||
|
||||
|
||||
#include <QString>
|
||||
|
||||
|
||||
namespace glabels::barcode
|
||||
{
|
||||
|
||||
///
|
||||
/// Style Type
|
||||
///
|
||||
class Style
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
Style ();
|
||||
|
||||
Style ( const QString& id,
|
||||
const QString& backendId,
|
||||
const QString& name,
|
||||
bool canText,
|
||||
bool textOptional,
|
||||
bool canChecksum,
|
||||
bool checksumOptional,
|
||||
const QString& defaultDigits,
|
||||
bool canFreeform,
|
||||
int preferedN );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Properties
|
||||
/////////////////////////////////
|
||||
const QString& id() const;
|
||||
|
||||
QString fullId() const;
|
||||
|
||||
const QString& backendId() const;
|
||||
|
||||
const QString& name() const;
|
||||
|
||||
QString fullName() const;
|
||||
|
||||
bool canText() const;
|
||||
|
||||
bool textOptional() const;
|
||||
|
||||
bool canChecksum() const;
|
||||
|
||||
bool checksumOptional() const;
|
||||
|
||||
const QString& defaultDigits() const;
|
||||
|
||||
bool canFreeform() const;
|
||||
|
||||
int preferedN() const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
QString exampleDigits( int n ) const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Operators
|
||||
/////////////////////////////////
|
||||
public:
|
||||
bool operator!=( const Style& other ) const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
QString mId;
|
||||
QString mBackendId;
|
||||
QString mName;
|
||||
bool mCanText;
|
||||
bool mTextOptional;
|
||||
bool mCanChecksum;
|
||||
bool mChecksumOptional;
|
||||
QString mDefaultDigits;
|
||||
bool mCanFreeform;
|
||||
int mPreferedN;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // barcode_Style_hpp
|
||||
+24
-32
@@ -1,47 +1,41 @@
|
||||
/* Zint.cpp
|
||||
*
|
||||
* Copyright (C) 2017 Jaye 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/>.
|
||||
*/
|
||||
// Zint.cpp
|
||||
//
|
||||
// Copyright (C) 2017 Jaye 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/>.
|
||||
//
|
||||
|
||||
#if HAVE_ZINT
|
||||
|
||||
#include "Zint.h"
|
||||
|
||||
#include <QtDebug>
|
||||
#include "Zint.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
#include <zint.h>
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
const double FONT_SCALE = 0.9;
|
||||
const int W_PTS_DEFAULT = 144;
|
||||
const int H_PTS_DEFAULT = 72;
|
||||
const double TWO_DIVIDED_BY_SQRT3 = 1.15470053837925152902;
|
||||
}
|
||||
|
||||
|
||||
namespace glabels
|
||||
namespace glabels::barcode::Zint
|
||||
{
|
||||
namespace barcode
|
||||
{
|
||||
namespace Zint
|
||||
{
|
||||
|
||||
|
||||
//
|
||||
// Base constructor
|
||||
@@ -1561,8 +1555,6 @@ namespace glabels
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // HAVE_ZINT
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -20,7 +20,7 @@ set (merge_sources
|
||||
)
|
||||
|
||||
set (merge_qobject_headers
|
||||
Merge.h
|
||||
Merge.hpp
|
||||
)
|
||||
|
||||
qt6_wrap_cpp (merge_moc_sources ${merge_qobject_headers})
|
||||
@@ -33,10 +33,9 @@ add_library (Merge STATIC
|
||||
${merge_moc_sources}
|
||||
)
|
||||
|
||||
#target_compile_features (Merge
|
||||
# PUBLIC cxx_std_11
|
||||
#)
|
||||
set_property (TARGET Merge PROPERTY CXX_STANDARD 11)
|
||||
target_compile_features (Merge
|
||||
PUBLIC cxx_std_20
|
||||
)
|
||||
|
||||
target_include_directories (Merge
|
||||
PUBLIC ..
|
||||
|
||||
+34
-36
@@ -1,39 +1,38 @@
|
||||
/* Merge/Factory.cpp
|
||||
*
|
||||
* Copyright (C) 2016 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "Factory.h"
|
||||
|
||||
#include "None.h"
|
||||
#include "TextCsv.h"
|
||||
#include "TextCsvKeys.h"
|
||||
#include "TextTsv.h"
|
||||
#include "TextTsvKeys.h"
|
||||
#include "TextColon.h"
|
||||
#include "TextColonKeys.h"
|
||||
#include "TextSemicolon.h"
|
||||
#include "TextSemicolonKeys.h"
|
||||
// Merge/Factory.cpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
#include "Factory.hpp"
|
||||
|
||||
#include "None.hpp"
|
||||
#include "TextCsv.hpp"
|
||||
#include "TextCsvKeys.hpp"
|
||||
#include "TextTsv.hpp"
|
||||
#include "TextTsvKeys.hpp"
|
||||
#include "TextColon.hpp"
|
||||
#include "TextColonKeys.hpp"
|
||||
#include "TextSemicolon.hpp"
|
||||
#include "TextSemicolonKeys.hpp"
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
//
|
||||
@@ -218,5 +217,4 @@ namespace glabels
|
||||
mNameList << name;
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
/* Merge/Factory.h
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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 merge_Factory_h
|
||||
#define merge_Factory_h
|
||||
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QStringList>
|
||||
#include <QMap>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
// Forward references
|
||||
class Merge;
|
||||
|
||||
|
||||
///
|
||||
/// Factory
|
||||
///
|
||||
class Factory
|
||||
{
|
||||
Q_DECLARE_TR_FUNCTIONS(Factory)
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Source Type
|
||||
/////////////////////////////////
|
||||
public:
|
||||
enum SourceType { NONE, FIXED, FILE };
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
protected:
|
||||
Factory();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static void init();
|
||||
|
||||
static Merge* createMerge( const QString& id );
|
||||
|
||||
static QStringList nameList();
|
||||
static QString idToName( const QString& id );
|
||||
static QString nameToId( const QString& name );
|
||||
static SourceType idToType( const QString& id );
|
||||
static QString indexToId( int index );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// private methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
using CreateFct = Merge* (*)();
|
||||
|
||||
static void registerBackend( const QString& id,
|
||||
const QString& name,
|
||||
SourceType type,
|
||||
CreateFct create );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// private data
|
||||
/////////////////////////////////
|
||||
class BackendEntry
|
||||
{
|
||||
public:
|
||||
QString id;
|
||||
QString name;
|
||||
SourceType type;
|
||||
CreateFct create;
|
||||
};
|
||||
|
||||
static QMap<QString,BackendEntry> mBackendIdMap;
|
||||
static QMap<QString,BackendEntry> mBackendNameMap;
|
||||
|
||||
static QStringList mNameList;
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_Factory_h
|
||||
@@ -0,0 +1,107 @@
|
||||
// Merge/Factory.hpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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 merge_Factory_hpp
|
||||
#define merge_Factory_hpp
|
||||
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QStringList>
|
||||
#include <QMap>
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
// Forward references
|
||||
class Merge;
|
||||
|
||||
|
||||
///
|
||||
/// Factory
|
||||
///
|
||||
class Factory
|
||||
{
|
||||
Q_DECLARE_TR_FUNCTIONS(Factory)
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Source Type
|
||||
/////////////////////////////////
|
||||
public:
|
||||
enum SourceType { NONE, FIXED, FILE };
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
protected:
|
||||
Factory();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static void init();
|
||||
|
||||
static Merge* createMerge( const QString& id );
|
||||
|
||||
static QStringList nameList();
|
||||
static QString idToName( const QString& id );
|
||||
static QString nameToId( const QString& name );
|
||||
static SourceType idToType( const QString& id );
|
||||
static QString indexToId( int index );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// private methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
using CreateFct = Merge* (*)();
|
||||
|
||||
static void registerBackend( const QString& id,
|
||||
const QString& name,
|
||||
SourceType type,
|
||||
CreateFct create );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// private data
|
||||
/////////////////////////////////
|
||||
class BackendEntry
|
||||
{
|
||||
public:
|
||||
QString id;
|
||||
QString name;
|
||||
SourceType type;
|
||||
CreateFct create;
|
||||
};
|
||||
|
||||
static QMap<QString,BackendEntry> mBackendIdMap;
|
||||
static QMap<QString,BackendEntry> mBackendNameMap;
|
||||
|
||||
static QStringList mNameList;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_Factory_hpp
|
||||
+22
-25
@@ -1,30 +1,28 @@
|
||||
/* Merge/Merge.cpp
|
||||
*
|
||||
* Copyright (C) 2015-2016 Jaye 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/>.
|
||||
*/
|
||||
// Merge/Merge.cpp
|
||||
//
|
||||
// Copyright (C) 2015-2016 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
|
||||
#include "Merge.h"
|
||||
#include "Merge.hpp"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
@@ -197,5 +195,4 @@ namespace glabels
|
||||
return list;
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
/* Merge/Merge.h
|
||||
*
|
||||
* Copyright (C) 2015-2016 Jaye 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 merge_Merge_h
|
||||
#define merge_Merge_h
|
||||
|
||||
|
||||
#include "Record.h"
|
||||
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QList>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
// Forward references
|
||||
class Record;
|
||||
|
||||
|
||||
///
|
||||
/// Merge Object
|
||||
///
|
||||
class Merge : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
protected:
|
||||
Merge() = default;
|
||||
Merge( const Merge* merge );
|
||||
public:
|
||||
virtual ~Merge() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
virtual Merge* clone() const = 0;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Properties
|
||||
/////////////////////////////////
|
||||
public:
|
||||
QString id() const;
|
||||
QString source() const;
|
||||
void setSource( const QString& source );
|
||||
void reloadSource();
|
||||
|
||||
const QList<Record>& recordList( ) const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Selection methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
void setSelected( int i, bool state = true );
|
||||
void selectAll();
|
||||
void unselectAll();
|
||||
|
||||
int nSelectedRecords() const;
|
||||
const QList<Record> selectedRecords() const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Virtual methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
virtual QStringList keys() const = 0;
|
||||
virtual QString primaryKey() const = 0;
|
||||
protected:
|
||||
virtual void open() = 0;
|
||||
virtual void close() = 0;
|
||||
virtual Record readNextRecord() = 0;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void sourceChanged();
|
||||
void selectionChanged();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private data
|
||||
/////////////////////////////////
|
||||
protected:
|
||||
QString mId;
|
||||
private:
|
||||
QString mSource;
|
||||
QList<Record> mRecordList;
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_Merge_h
|
||||
@@ -0,0 +1,121 @@
|
||||
// Merge/Merge.hpp
|
||||
//
|
||||
// Copyright (C) 2015-2016 Jaye 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 merge_Merge_hpp
|
||||
#define merge_Merge_hpp
|
||||
|
||||
|
||||
#include "Record.hpp"
|
||||
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QList>
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
// Forward references
|
||||
class Record;
|
||||
|
||||
|
||||
///
|
||||
/// Merge Object
|
||||
///
|
||||
class Merge : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
protected:
|
||||
Merge() = default;
|
||||
Merge( const Merge* merge );
|
||||
public:
|
||||
virtual ~Merge() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
virtual Merge* clone() const = 0;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Properties
|
||||
/////////////////////////////////
|
||||
public:
|
||||
QString id() const;
|
||||
QString source() const;
|
||||
void setSource( const QString& source );
|
||||
void reloadSource();
|
||||
|
||||
const QList<Record>& recordList( ) const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Selection methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
void setSelected( int i, bool state = true );
|
||||
void selectAll();
|
||||
void unselectAll();
|
||||
|
||||
int nSelectedRecords() const;
|
||||
const QList<Record> selectedRecords() const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Virtual methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
virtual QStringList keys() const = 0;
|
||||
virtual QString primaryKey() const = 0;
|
||||
protected:
|
||||
virtual void open() = 0;
|
||||
virtual void close() = 0;
|
||||
virtual Record readNextRecord() = 0;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void sourceChanged();
|
||||
void selectionChanged();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private data
|
||||
/////////////////////////////////
|
||||
protected:
|
||||
QString mId;
|
||||
private:
|
||||
QString mSource;
|
||||
QList<Record> mRecordList;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_Merge_hpp
|
||||
+24
-26
@@ -1,29 +1,28 @@
|
||||
/* Merge/None.cpp
|
||||
*
|
||||
* Copyright (C) 2015-2016 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "None.h"
|
||||
// Merge/None.cpp
|
||||
//
|
||||
// Copyright (C) 2015-2016 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
#include "None.hpp"
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
@@ -113,5 +112,4 @@ namespace glabels
|
||||
return NullRecord();
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
/* Merge/None.h
|
||||
*
|
||||
* Copyright (C) 2015-2016 Jaye 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 merge_None_h
|
||||
#define merge_None_h
|
||||
|
||||
#include "Merge.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
///
|
||||
/// None Merge Backend
|
||||
///
|
||||
struct None : public Merge
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
None();
|
||||
None( const None* merge );
|
||||
virtual ~None() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
None* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Implementation of virtual methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
QStringList keys() const override;
|
||||
QString primaryKey() const override;
|
||||
protected:
|
||||
void open() override;
|
||||
void close() override;
|
||||
Record readNextRecord() override;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_None_h
|
||||
@@ -0,0 +1,76 @@
|
||||
// Merge/None.hpp
|
||||
//
|
||||
// Copyright (C) 2015-2016 Jaye 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 merge_None_hpp
|
||||
#define merge_None_hpp
|
||||
|
||||
|
||||
#include "Merge.hpp"
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// None Merge Backend
|
||||
///
|
||||
struct None : public Merge
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
None();
|
||||
None( const None* merge );
|
||||
virtual ~None() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
None* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Implementation of virtual methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
QStringList keys() const override;
|
||||
QString primaryKey() const override;
|
||||
protected:
|
||||
void open() override;
|
||||
void close() override;
|
||||
Record readNextRecord() override;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_None_hpp
|
||||
+24
-26
@@ -1,29 +1,28 @@
|
||||
/* Merge/Record.cpp
|
||||
*
|
||||
* Copyright (C) 2013-2016 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "Record.h"
|
||||
// Merge/Record.cpp
|
||||
//
|
||||
// Copyright (C) 2013-2016 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
#include "Record.hpp"
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
@@ -43,5 +42,4 @@ namespace glabels
|
||||
mSelected = value;
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
/* Merge/Record.h
|
||||
*
|
||||
* Copyright (C) 2013-2016 Jaye 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 merge_Record_h
|
||||
#define merge_Record_h
|
||||
|
||||
|
||||
#include <QString>
|
||||
#include <QMap>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
///
|
||||
/// Merge Record
|
||||
///
|
||||
class Record : public QMap<QString,QString>
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Properties
|
||||
/////////////////////////////////
|
||||
public:
|
||||
bool isSelected() const;
|
||||
void setSelected( bool value );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
bool mSelected{ true };
|
||||
|
||||
};
|
||||
|
||||
|
||||
using NullRecord = const Record;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_Record_h
|
||||
@@ -0,0 +1,59 @@
|
||||
// Merge/Record.hpp
|
||||
//
|
||||
// Copyright (C) 2013-2016 Jaye 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 merge_Record_hpp
|
||||
#define merge_Record_hpp
|
||||
|
||||
|
||||
#include <QString>
|
||||
#include <QMap>
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// Merge Record
|
||||
///
|
||||
class Record : public QMap<QString,QString>
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Properties
|
||||
/////////////////////////////////
|
||||
public:
|
||||
bool isSelected() const;
|
||||
void setSelected( bool value );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
bool mSelected{ true };
|
||||
|
||||
};
|
||||
|
||||
|
||||
using NullRecord = const Record;
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_Record_hpp
|
||||
+24
-27
@@ -1,34 +1,32 @@
|
||||
/* Merge/Text.cpp
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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/>.
|
||||
*/
|
||||
// Merge/Text.cpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
|
||||
#include "Text.h"
|
||||
#include "Text.hpp"
|
||||
|
||||
#include "Record.h"
|
||||
#include "Record.hpp"
|
||||
|
||||
#include <QtDebug>
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
@@ -415,5 +413,4 @@ namespace glabels
|
||||
return fields;
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
/* Merge/Text.h
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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 merge_Text_h
|
||||
#define merge_Text_h
|
||||
|
||||
|
||||
#include "Merge.h"
|
||||
|
||||
#include <QFile>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
///
|
||||
/// Text Merge Backend
|
||||
///
|
||||
struct Text : public Merge
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
protected:
|
||||
Text( QChar delimiter, bool line1HasKeys );
|
||||
Text( const Text* merge );
|
||||
virtual ~Text() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Implementation of virtual methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
QStringList keys() const override;
|
||||
QString primaryKey() const override;
|
||||
protected:
|
||||
void open() override;
|
||||
void close() override;
|
||||
Record readNextRecord() override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private methods
|
||||
/////////////////////////////////
|
||||
QString keyFromIndex( int iField ) const;
|
||||
QStringList parseLine();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
QChar mDelimeter;
|
||||
bool mLine1HasKeys;
|
||||
|
||||
QFile mFile;
|
||||
QStringList mKeys;
|
||||
int mNFieldsMax;
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_Text_h
|
||||
@@ -0,0 +1,82 @@
|
||||
// Merge/Text.hpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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 merge_Text_hpp
|
||||
#define merge_Text_hpp
|
||||
|
||||
|
||||
#include "Merge.hpp"
|
||||
|
||||
#include <QFile>
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// Text Merge Backend
|
||||
///
|
||||
struct Text : public Merge
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
protected:
|
||||
Text( QChar delimiter, bool line1HasKeys );
|
||||
Text( const Text* merge );
|
||||
virtual ~Text() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Implementation of virtual methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
QStringList keys() const override;
|
||||
QString primaryKey() const override;
|
||||
protected:
|
||||
void open() override;
|
||||
void close() override;
|
||||
Record readNextRecord() override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private methods
|
||||
/////////////////////////////////
|
||||
QString keyFromIndex( int iField ) const;
|
||||
QStringList parseLine();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
QChar mDelimeter;
|
||||
bool mLine1HasKeys;
|
||||
|
||||
QFile mFile;
|
||||
QStringList mKeys;
|
||||
int mNFieldsMax;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_Text_hpp
|
||||
@@ -1,34 +1,36 @@
|
||||
/* Merge/TextColon.cpp
|
||||
*
|
||||
* Copyright (C) 2016 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "TextColon.h"
|
||||
// Merge/TextColon.cpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
#include "TextColon.hpp"
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
static const QString ID = "Text/Colon";
|
||||
}
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// Constructor
|
||||
///
|
||||
@@ -72,5 +74,4 @@ namespace glabels
|
||||
return new TextColon();
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
/* Merge/TextColon.h
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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 merge_TextColon_h
|
||||
#define merge_TextColon_h
|
||||
|
||||
|
||||
#include "Text.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextColon Merge Backend
|
||||
///
|
||||
struct TextColon : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextColon();
|
||||
TextColon( const TextColon* merge );
|
||||
virtual ~TextColon() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextColon* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextColon_h
|
||||
@@ -0,0 +1,65 @@
|
||||
// Merge/TextColon.hpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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 merge_TextColon_hpp
|
||||
#define merge_TextColon_hpp
|
||||
|
||||
|
||||
#include "Text.hpp"
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextColon Merge Backend
|
||||
///
|
||||
struct TextColon : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextColon();
|
||||
TextColon( const TextColon* merge );
|
||||
virtual ~TextColon() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextColon* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextColon_hpp
|
||||
@@ -1,34 +1,36 @@
|
||||
/* Merge/TextColonKeys.cpp
|
||||
*
|
||||
* Copyright (C) 2016 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "TextColonKeys.h"
|
||||
// Merge/TextColonKeys.cpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
#include "TextColonKeys.hpp"
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
static const QString ID = "Text/Colon/Line1Keys";
|
||||
}
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// Constructor
|
||||
///
|
||||
@@ -72,5 +74,4 @@ namespace glabels
|
||||
return new TextColonKeys();
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
/* Merge/TextColonKeys.h
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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 merge_TextColonKeys_h
|
||||
#define merge_TextColonKeys_h
|
||||
|
||||
|
||||
#include "Text.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextColonKeys Merge Backend
|
||||
///
|
||||
struct TextColonKeys : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextColonKeys();
|
||||
TextColonKeys( const TextColonKeys* merge );
|
||||
virtual ~TextColonKeys() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextColonKeys* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextColonKeys_h
|
||||
@@ -0,0 +1,65 @@
|
||||
// Merge/TextColonKeys.hpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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 merge_TextColonKeys_hpp
|
||||
#define merge_TextColonKeys_hpp
|
||||
|
||||
|
||||
#include "Text.hpp"
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextColonKeys Merge Backend
|
||||
///
|
||||
struct TextColonKeys : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextColonKeys();
|
||||
TextColonKeys( const TextColonKeys* merge );
|
||||
virtual ~TextColonKeys() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextColonKeys* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextColonKeys_hpp
|
||||
+28
-27
@@ -1,34 +1,36 @@
|
||||
/* Merge/TextCsv.cpp
|
||||
*
|
||||
* Copyright (C) 2016 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "TextCsv.h"
|
||||
// Merge/TextCsv.cpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
#include "TextCsv.hpp"
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
static const QString ID = "Text/Comma";
|
||||
}
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// Constructor
|
||||
///
|
||||
@@ -72,5 +74,4 @@ namespace glabels
|
||||
return new TextCsv();
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
/* Merge/TextCsv.h
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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 merge_TextCsv_h
|
||||
#define merge_TextCsv_h
|
||||
|
||||
|
||||
#include "Text.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextCsv Merge Backend
|
||||
///
|
||||
struct TextCsv : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextCsv();
|
||||
TextCsv( const TextCsv* merge );
|
||||
virtual ~TextCsv() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextCsv* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextCsv_h
|
||||
@@ -0,0 +1,65 @@
|
||||
// Merge/TextCsv.hpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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 merge_TextCsv_hpp
|
||||
#define merge_TextCsv_hpp
|
||||
|
||||
|
||||
#include "Text.hpp"
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextCsv Merge Backend
|
||||
///
|
||||
struct TextCsv : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextCsv();
|
||||
TextCsv( const TextCsv* merge );
|
||||
virtual ~TextCsv() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextCsv* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextCsv_hpp
|
||||
@@ -1,34 +1,36 @@
|
||||
/* Merge/TextCsvKeys.cpp
|
||||
*
|
||||
* Copyright (C) 2016 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "TextCsvKeys.h"
|
||||
// Merge/TextCsvKeys.cpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
#include "TextCsvKeys.hpp"
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
static const QString ID = "Text/Comma/Line1Keys";
|
||||
}
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// Constructor
|
||||
///
|
||||
@@ -72,5 +74,4 @@ namespace glabels
|
||||
return new TextCsvKeys();
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
/* Merge/TextCsvKeys.h
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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 merge_TextCsvKeys_h
|
||||
#define merge_TextCsvKeys_h
|
||||
|
||||
|
||||
#include "Text.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextCsvKeys Merge Backend
|
||||
///
|
||||
struct TextCsvKeys : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextCsvKeys();
|
||||
TextCsvKeys( const TextCsvKeys* merge );
|
||||
virtual ~TextCsvKeys() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextCsvKeys* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextCsvKeys_h
|
||||
@@ -0,0 +1,65 @@
|
||||
// Merge/TextCsvKeys.hpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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 merge_TextCsvKeys_hpp
|
||||
#define merge_TextCsvKeys_hpp
|
||||
|
||||
|
||||
#include "Text.hpp"
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextCsvKeys Merge Backend
|
||||
///
|
||||
struct TextCsvKeys : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextCsvKeys();
|
||||
TextCsvKeys( const TextCsvKeys* merge );
|
||||
virtual ~TextCsvKeys() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextCsvKeys* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextCsvKeys_hpp
|
||||
@@ -1,34 +1,36 @@
|
||||
/* Merge/TextSemicolon.cpp
|
||||
*
|
||||
* Copyright (C) 2016 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "TextSemicolon.h"
|
||||
// Merge/TextSemicolon.cpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
#include "TextSemicolon.hpp"
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
static const QString ID = "Text/Semicolon";
|
||||
}
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// Constructor
|
||||
///
|
||||
@@ -72,5 +74,4 @@ namespace glabels
|
||||
return new TextSemicolon();
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
/* Merge/TextSemicolon.h
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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 merge_TextSemicolon_h
|
||||
#define merge_TextSemicolon_h
|
||||
|
||||
|
||||
#include "Text.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextSemicolon Merge Backend
|
||||
///
|
||||
struct TextSemicolon : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextSemicolon();
|
||||
TextSemicolon( const TextSemicolon* merge );
|
||||
virtual ~TextSemicolon() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextSemicolon* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextSemicolon_h
|
||||
@@ -0,0 +1,65 @@
|
||||
// Merge/TextSemicolon.hpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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 merge_TextSemicolon_hpp
|
||||
#define merge_TextSemicolon_hpp
|
||||
|
||||
|
||||
#include "Text.hpp"
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextSemicolon Merge Backend
|
||||
///
|
||||
struct TextSemicolon : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextSemicolon();
|
||||
TextSemicolon( const TextSemicolon* merge );
|
||||
virtual ~TextSemicolon() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextSemicolon* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextSemicolon_hpp
|
||||
@@ -1,34 +1,36 @@
|
||||
/* Merge/TextSemicolonKeys.cpp
|
||||
*
|
||||
* Copyright (C) 2016 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "TextSemicolonKeys.h"
|
||||
// Merge/TextSemicolonKeys.cpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
#include "TextSemicolonKeys.hpp"
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
static const QString ID = "Text/Semicolon/Keys";
|
||||
}
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// Constructor
|
||||
///
|
||||
@@ -72,5 +74,4 @@ namespace glabels
|
||||
return new TextSemicolonKeys();
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
/* Merge/TextSemicolonKeys.h
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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 merge_TextSemicolonKeys_h
|
||||
#define merge_TextSemicolonKeys_h
|
||||
|
||||
|
||||
#include "Text.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextSemicolonKeys Merge Backend
|
||||
///
|
||||
struct TextSemicolonKeys : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextSemicolonKeys();
|
||||
TextSemicolonKeys( const TextSemicolonKeys* merge );
|
||||
virtual ~TextSemicolonKeys() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextSemicolonKeys* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextSemicolonKeys_h
|
||||
@@ -0,0 +1,65 @@
|
||||
// Merge/TextSemicolonKeys.hpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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 merge_TextSemicolonKeys_hpp
|
||||
#define merge_TextSemicolonKeys_hpp
|
||||
|
||||
|
||||
#include "Text.hpp"
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextSemicolonKeys Merge Backend
|
||||
///
|
||||
struct TextSemicolonKeys : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextSemicolonKeys();
|
||||
TextSemicolonKeys( const TextSemicolonKeys* merge );
|
||||
virtual ~TextSemicolonKeys() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextSemicolonKeys* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextSemicolonKeys_hpp
|
||||
+28
-27
@@ -1,34 +1,36 @@
|
||||
/* Merge/TextTsv.cpp
|
||||
*
|
||||
* Copyright (C) 2016 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "TextTsv.h"
|
||||
// Merge/TextTsv.cpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
#include "TextTsv.hpp"
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
static const QString ID = "Text/Tab";
|
||||
}
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// Constructor
|
||||
///
|
||||
@@ -72,5 +74,4 @@ namespace glabels
|
||||
return new TextTsv();
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
/* Merge/TextTsv.h
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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 merge_TextTsv_h
|
||||
#define merge_TextTsv_h
|
||||
|
||||
|
||||
#include "Text.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextTsv Merge Backend
|
||||
///
|
||||
struct TextTsv : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextTsv();
|
||||
TextTsv( const TextTsv* merge );
|
||||
virtual ~TextTsv() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextTsv* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextTsv_h
|
||||
@@ -0,0 +1,65 @@
|
||||
// Merge/TextTsv.hpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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 merge_TextTsv_hpp
|
||||
#define merge_TextTsv_hpp
|
||||
|
||||
|
||||
#include "Text.hpp"
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextTsv Merge Backend
|
||||
///
|
||||
struct TextTsv : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextTsv();
|
||||
TextTsv( const TextTsv* merge );
|
||||
virtual ~TextTsv() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextTsv* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextTsv_hpp
|
||||
@@ -1,34 +1,36 @@
|
||||
/* Merge/TextTsvKeys.cpp
|
||||
*
|
||||
* Copyright (C) 2016 Jaye Evins <evins@snaught.com>
|
||||
*
|
||||
* This file is part of gLabels-qt.
|
||||
*
|
||||
* gLabels-qt is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* gLabels-qt is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "TextTsvKeys.h"
|
||||
// Merge/TextTsvKeys.cpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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/>.
|
||||
//
|
||||
|
||||
|
||||
namespace glabels
|
||||
#include "TextTsvKeys.hpp"
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
static const QString ID = "Text/Tab/Line1Keys";
|
||||
}
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// Constructor
|
||||
///
|
||||
@@ -72,5 +74,5 @@ namespace glabels
|
||||
return new TextTsvKeys();
|
||||
}
|
||||
|
||||
} // namespace merge
|
||||
} // namespace glabels
|
||||
}
|
||||
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
/* Merge/TextTsvKeys.h
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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 merge_TextTsvKeys_h
|
||||
#define merge_TextTsvKeys_h
|
||||
|
||||
|
||||
#include "Text.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
namespace merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextTsvKeys Merge Backend
|
||||
///
|
||||
struct TextTsvKeys : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextTsvKeys();
|
||||
TextTsvKeys( const TextTsvKeys* merge );
|
||||
virtual ~TextTsvKeys() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextTsvKeys* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextTsvKeys_h
|
||||
@@ -0,0 +1,65 @@
|
||||
// Merge/TextTsvKeys.hpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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 merge_TextTsvKeys_hpp
|
||||
#define merge_TextTsvKeys_hpp
|
||||
|
||||
|
||||
#include "Text.hpp"
|
||||
|
||||
|
||||
namespace glabels::merge
|
||||
{
|
||||
|
||||
///
|
||||
/// TextTsvKeys Merge Backend
|
||||
///
|
||||
struct TextTsvKeys : public Text
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
TextTsvKeys();
|
||||
TextTsvKeys( const TextTsvKeys* merge );
|
||||
virtual ~TextTsvKeys() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Object duplication
|
||||
/////////////////////////////////
|
||||
public:
|
||||
TextTsvKeys* clone() const override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Static methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
static QString id();
|
||||
static Merge* create();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // merge_TextTsvKeys_hpp
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
#=======================================
|
||||
# Install
|
||||
#=======================================
|
||||
install (FILES glabels-qt.desktop DESTINATION share/applications)
|
||||
install (FILES x-glabels-document.mime.xml DESTINATION share/mime/packages)
|
||||
install (FILES glabels-qt.appdata.xml DESTINATION share/appdata)
|
||||
install (FILES org.glabels.glabels-qt.desktop DESTINATION share/applications)
|
||||
install (FILES org.glabels.glabels-qt.mime.xml DESTINATION share/mime/packages)
|
||||
install (FILES org.glabels.glabels-qt.metainfo.xml DESTINATION share/metainfo)
|
||||
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>glabels-qt.desktop</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0+</project_license>
|
||||
<name>gLabels</name>
|
||||
<summary>Create labels, business cards and media covers</summary>
|
||||
<description>
|
||||
<p>gLabels is a program for creating labels and business cards. It is
|
||||
designed to work with various laser/ink-jet peel-off label and business
|
||||
card sheets that you'll find at most office supply stores.</p>
|
||||
<p>gLabels can be used to design address labels, name tags, price tags,
|
||||
cd/dvd labels, or just about anything else that is organized in a regular
|
||||
pattern on a sheet of paper. Labels (or cards) can contain text, images,
|
||||
lines, shapes, and barcodes. gLabels also includes a document-merge feature
|
||||
which lets you print a unique label for each record from an external data
|
||||
source, such as a CSV file.</p>
|
||||
</description>
|
||||
<!--
|
||||
<screenshots>
|
||||
<screenshot width="881" type="default" height="640">
|
||||
<image>http://glabels.org/screenshots/400-screenshot-main.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
-->
|
||||
<url type="homepage">http://glabels.org/</url>
|
||||
<url type="bugtracker">https://github.com/j-evins/glabels-qt/issues</url>
|
||||
<update_contact>evins_at_snaught.com</update_contact>
|
||||
</component>
|
||||
@@ -1,11 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=gLabels Label Designer 4
|
||||
Comment=Create labels, business cards and media covers
|
||||
Keywords=label;card;print;office;barcode;
|
||||
Exec=glabels-qt %F
|
||||
Icon=glabels
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Office;
|
||||
StartupNotify=true
|
||||
MimeType=application/x-glabels;
|
||||
@@ -0,0 +1,19 @@
|
||||
[Desktop Entry]
|
||||
Name=gLabels Label Designer 4
|
||||
Comment=Create labels and business cards
|
||||
Comment[de]=Entwurf von Etiketten und Visitenkarten
|
||||
Comment[es]=Crear etiquetas y tarjetas de visita
|
||||
Comment[fr]=Créer des étiquettes et des cartes de visite
|
||||
Comment[it]=Crea etichette e biglietti da visita
|
||||
Comment[pl]=Twórz etykiety i wizytówki
|
||||
Comment[pt]=Crie etiquetas e cartões de visita
|
||||
Comment[pt_BR]=Crie etiquetas e cartões de visita
|
||||
Comment[uk]=Створюйте етикетки та візитки
|
||||
Keywords=label;card;print;office;barcode;
|
||||
Exec=glabels-qt %F
|
||||
Icon=glabels
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Office;
|
||||
StartupNotify=true
|
||||
MimeType=application/x-glabels;
|
||||
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>org.glabels.glabels-qt</id>
|
||||
<developer id="io.github.j-evins">
|
||||
<name>Jaye Evins</name>
|
||||
</developer>
|
||||
<launchable type="desktop-id">org.glabels.glabels-qt.desktop</launchable>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0+</project_license>
|
||||
<name>gLabels</name>
|
||||
<summary>Create labels and business cards</summary>
|
||||
<summary xml:lang="de">Entwurf von Etiketten und Visitenkarten</summary>
|
||||
<summary xml:lang="es">Crear etiquetas y tarjetas de visita</summary>
|
||||
<summary xml:lang="fr">Créer des étiquettes et des cartes de visite</summary>
|
||||
<summary xml:lang="it">Crea etichette e biglietti da visita</summary>
|
||||
<summary xml:lang="pl">Twórz etykiety i wizytówki</summary>
|
||||
<summary xml:lang="pt">Crie etiquetas e cartões de visita</summary>
|
||||
<summary xml:lang="pt_BR">Crie etiquetas e cartões de visita</summary>
|
||||
<summary xml:lang="uk">Створюйте етикетки та візитки</summary>
|
||||
<description>
|
||||
<p>gLabels is a program for creating labels, business cards and media covers.
|
||||
It is designed to work with various laser/ink-jet peel-off label and business
|
||||
card sheets that you'll find at most office supply stores.</p>
|
||||
<p>gLabels can be used to design address labels, name tags, price tags,
|
||||
cd/dvd labels, or just about anything else that is organized in a regular
|
||||
pattern on a sheet of paper. Labels (or cards) can contain text, images,
|
||||
lines, shapes, and barcodes. gLabels also includes a document-merge feature
|
||||
which lets you print a unique label for each record from an external data
|
||||
source, such as a CSV file.</p>
|
||||
</description>
|
||||
<categories>
|
||||
<category>Office</category>
|
||||
</categories>
|
||||
<keywords>
|
||||
<keyword>label</keyword>
|
||||
<keyword>card</keyword>
|
||||
<keyword>print</keyword>
|
||||
<keyword>office</keyword>
|
||||
<keyword>barcode</keyword>
|
||||
<keyword translate="no">qt</keyword>
|
||||
</keywords>
|
||||
<url type="homepage">https://glabels.org/</url>
|
||||
<url type="bugtracker">https://github.com/j-evins/glabels-qt/issues</url>
|
||||
<url type="vcs-browser">https://github.com/j-evins/glabels-qt</url>
|
||||
<update_contact>evins_at_snaught.com</update_contact>
|
||||
<content_rating type="oars-1.1" />
|
||||
<branding>
|
||||
<color type="primary" scheme_preference="light">#bbdb69</color>
|
||||
<color type="primary" scheme_preference="dark">#4e9a06</color>
|
||||
</branding>
|
||||
<translation type="qt">glabels-qt/translations/glabels</translation>
|
||||
<!--
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://glabels.org/screenshots/400-screenshot-main.png</image>
|
||||
<caption>...</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<releases>
|
||||
<release version="4.0.0" date="2025-12-01">
|
||||
<url type="details">https://example.org/changelog.html#version_4.0.0</url>
|
||||
<description>
|
||||
<p>Release description</p>
|
||||
<ul>
|
||||
<li>List of changes</li>
|
||||
<li>List of changes</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
</releases>
|
||||
-->
|
||||
</component>
|
||||
@@ -3,7 +3,7 @@
|
||||
<mime-type type="application/x-glabels">
|
||||
<comment>gLabels Project File</comment>
|
||||
<sub-class-of type="application/xml"/>
|
||||
<generic-icon name="x-glabels-project"/>
|
||||
<icon name="x-glabels-project"/>
|
||||
<glob pattern="*.glabels"/>
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
@@ -2,19 +2,37 @@ gLabels MacOS Build Instructions
|
||||
================================
|
||||
|
||||
## Prerequisites
|
||||
|
||||
```
|
||||
brew install cmake
|
||||
brew install qt
|
||||
brew install qt@6
|
||||
```
|
||||
|
||||
## Optional dependencies
|
||||
```
|
||||
brew install zlib
|
||||
brew install qrencode
|
||||
brew install zint
|
||||
```
|
||||
|
||||
## Compile and Install
|
||||
|
||||
<pre>
|
||||
export SDKROOT=$(xcrun --show-sdk-path)
|
||||
# Detect architecture and set appropriate paths
|
||||
if [[ "$(uname -m)" == "arm64" ]]; then
|
||||
# Apple Silicon
|
||||
CMAKE_PATH="/opt/homebrew/bin/cmake"
|
||||
CMAKE_PREFIX_PATH="/opt/homebrew/opt"
|
||||
else
|
||||
# Intel
|
||||
CMAKE_PATH="/usr/local/bin/cmake"
|
||||
CMAKE_PREFIX_PATH="/usr/local/opt"
|
||||
fi
|
||||
|
||||
cd <i>glabels_source_directory</i>
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -D CMAKE_PREFIX_PATH=/usr/local/opt/qt ..
|
||||
$CMAKE_PATH -DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH/qt@6 ..
|
||||
make
|
||||
sudo make install
|
||||
</pre>
|
||||
|
||||
+39
-20
@@ -4,29 +4,20 @@ Glabels Coding Style
|
||||
This file describes the coding style used in all glabels source code. Any
|
||||
patches or pull requests should adhere to this style.
|
||||
|
||||
:bulb: **Note:** The top-level glabels source directory includes a *.clang-format* file.
|
||||
This file can be used with `clang-format` to reformat code to a reasonable approximation
|
||||
of the style described here.
|
||||
|
||||
|
||||
Formatting
|
||||
----------
|
||||
|
||||
### Tabs vs. Spaces
|
||||
|
||||
Tabs are only used at the beginning of a line, and only used to express
|
||||
indentation level. Spaces are used for any other type of vertical alignment,
|
||||
e.g. aligning function arguments. This ensures that the code displays
|
||||
correctly everywhere, regardless of the viewer's tab size, and does not inflict
|
||||
the viewer with my choice of tab size (8 spaces).
|
||||
|
||||
I use the emacs smart-tabs-mode to automatically enforce this. See
|
||||
https://www.emacswiki.org/emacs/SmartTabs for more information.
|
||||
Use spaces for all code indentation and line-to-line alignment of code elements.
|
||||
(e.g. aligning function arguments). This ensures that the code displays
|
||||
correctly everywhere.
|
||||
|
||||
|
||||
### Indentation Style
|
||||
|
||||
Glabels code uses the Allman style (a.k.a "BSD Style") of code indentation.
|
||||
Glabels code uses the Allman[^1] style (a.k.a "BSD Style") of code indentation.
|
||||
I.e. the brace associated with a control statement is placed on the next line,
|
||||
indented to the same level as the control statement. Statements within the
|
||||
braces are indented to the next level.
|
||||
@@ -50,8 +41,6 @@ else
|
||||
|
||||
Also applies to function, class and namespace declaration statements.
|
||||
|
||||
See https://en.wikipedia.org/wiki/Indent_style#Allman_style for more
|
||||
information.
|
||||
|
||||
|
||||
### Parenthesis
|
||||
@@ -98,8 +87,8 @@ Code Organization
|
||||
Generally code is organized into modules. Usually a module defines a single
|
||||
class or a small namespace of functions/constants/etc. A module is defined by
|
||||
two files: a header file (its specification) and an implementation file.
|
||||
Header filenames have a ".h" extension and implementation filenames have a
|
||||
".cpp" extension.
|
||||
Header filenames have a `.hpp` extension[^2] and implementation filenames have a
|
||||
`.cpp` extension.
|
||||
|
||||
|
||||
### Self-contained Headers
|
||||
@@ -114,8 +103,8 @@ shall include its header file before any other includes.
|
||||
All header files should have an ifndef guard to prevent multiple inclusion.
|
||||
|
||||
```
|
||||
#ifndef ns_Module_h
|
||||
#define ns_Module_h
|
||||
#ifndef ns_Module_hpp
|
||||
#define ns_Module_hpp
|
||||
|
||||
...
|
||||
|
||||
@@ -127,7 +116,7 @@ All header files should have an ifndef guard to prevent multiple inclusion.
|
||||
|
||||
Header files should be included in the following order.
|
||||
|
||||
1. header file for this module (e.g. this would be "Foo.h" in "Foo.cpp").
|
||||
1. header file for this module (e.g. this would be `Foo.hpp` in `Foo.cpp`).
|
||||
2. Glabels header files.
|
||||
3. Qt header files
|
||||
3. C++ system header files (e.g. STL files)
|
||||
@@ -152,3 +141,33 @@ include directives instead.
|
||||
|
||||
- Private definitions are placed in unnamed namespaces to limit scope to the current translation unit.
|
||||
- All other glabels code is placed in the top-level "glabels" namespace.
|
||||
- Nested namespace declarations should follow the more concise C++17 syntax
|
||||
```
|
||||
namespace glabels::model
|
||||
{
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Notes
|
||||
-----
|
||||
|
||||
### Emacs
|
||||
|
||||
The following is an excerpt from my emacs configuration supporting the style
|
||||
```
|
||||
(defun my-c++-hook ()
|
||||
(setq c-default-style "bsd"
|
||||
c-basic-offset 8
|
||||
indent-tabs-mode nil
|
||||
show-trailing-whitespace t))
|
||||
|
||||
(add-hook 'c++-mode-hook 'my-c++-hook)
|
||||
```
|
||||
|
||||
|
||||
References
|
||||
----------
|
||||
[^1]: https://en.wikipedia.org/wiki/Indent_style#Allman_style
|
||||
[^2]: [C++ Weekly - Ep 442 - Stop Using .h For C++ Header Files!](https://www.youtube.com/watch?v=mr3sOT-Delg)
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ gLabels Version numbering
|
||||
* major version indicates a major change in architecture or technology
|
||||
- 2.x.x was based on gtk+-2
|
||||
- 3.x.x was based on gtk+-3
|
||||
- 4.x.x is based on qt-5
|
||||
- 4.x.x is based on qt-6
|
||||
* minor version indicates a minor change in features or design
|
||||
- A new stable branch will be created for each new minor version
|
||||
* micro version indicates a bugfix release
|
||||
|
||||
@@ -10,12 +10,12 @@ set (glabels-batch_sources
|
||||
#=====================================
|
||||
# Target
|
||||
#=====================================
|
||||
add_executable (glabels-batch-qt WIN32
|
||||
add_executable (glabels-batch-qt
|
||||
${glabels-batch_sources}
|
||||
)
|
||||
|
||||
target_compile_features (glabels-batch-qt
|
||||
PUBLIC cxx_std_11
|
||||
PUBLIC cxx_std_20
|
||||
)
|
||||
|
||||
target_link_libraries (glabels-batch-qt
|
||||
|
||||
+46
-28
@@ -1,32 +1,33 @@
|
||||
/* main.cpp
|
||||
*
|
||||
* Copyright (C) 2013-2016 Jaye 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/>.
|
||||
*/
|
||||
// main.cpp
|
||||
//
|
||||
// Copyright (C) 2013-2016 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
#include "model/FileUtil.h"
|
||||
#include "model/Db.h"
|
||||
#include "model/Model.h"
|
||||
#include "model/PageRenderer.h"
|
||||
#include "model/Version.h"
|
||||
#include "model/XmlLabelParser.h"
|
||||
|
||||
#include "barcode/Backends.h"
|
||||
#include "merge/Factory.h"
|
||||
#include "model/FileUtil.hpp"
|
||||
#include "model/Db.hpp"
|
||||
#include "model/Model.hpp"
|
||||
#include "model/PageRenderer.hpp"
|
||||
#include "model/Version.hpp"
|
||||
#include "model/XmlLabelParser.hpp"
|
||||
|
||||
#include "barcode/Backends.hpp"
|
||||
#include "merge/Factory.hpp"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QCommandLineParser>
|
||||
@@ -35,6 +36,7 @@
|
||||
#include <QLocale>
|
||||
#include <QPrinter>
|
||||
#include <QPrinterInfo>
|
||||
#include <QTextStream>
|
||||
#include <QTranslator>
|
||||
|
||||
|
||||
@@ -99,6 +101,11 @@ int main( int argc, char **argv )
|
||||
QCoreApplication::translate( "main", "printer" ),
|
||||
QPrinterInfo::defaultPrinterName() },
|
||||
|
||||
{{"i","input"},
|
||||
QCoreApplication::translate( "main", "Set merge input to <source> (typically a filename). Set to \"-\" for stdin." ),
|
||||
QCoreApplication::translate( "main", "source" ),
|
||||
"" },
|
||||
|
||||
{{"o","output"},
|
||||
QCoreApplication::translate( "main", "Set output filename to <filename>. Set to \"-\" for stdout. (Default=\"output.pdf\")" ),
|
||||
QCoreApplication::translate( "main", "filename" ),
|
||||
@@ -151,7 +158,7 @@ int main( int argc, char **argv )
|
||||
// Handle verbose version option
|
||||
if ( parser.isSet( "Version" ) )
|
||||
{
|
||||
qInfo().noquote() << glabels::model::Version::details();
|
||||
QTextStream(stdout) << glabels::model::Version::details() << Qt::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -220,6 +227,17 @@ int main( int argc, char **argv )
|
||||
qDebug() << "Batch mode. printer =" << QPrinterInfo::defaultPrinterName();
|
||||
}
|
||||
|
||||
if ( parser.isSet( "input" ) )
|
||||
{
|
||||
QString inputSource = parser.value( "input" );
|
||||
if ( inputSource == "-" )
|
||||
{
|
||||
inputSource = STDIN_FILENAME;
|
||||
}
|
||||
qDebug() << "Merge source =" << inputSource;
|
||||
model->merge()->setSource( inputSource );
|
||||
}
|
||||
|
||||
glabels::model::PageRenderer renderer( model );
|
||||
if ( model->merge()->keys().empty() )
|
||||
{
|
||||
|
||||
+23
-22
@@ -1,30 +1,31 @@
|
||||
/* AboutDialog.cpp
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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/>.
|
||||
*/
|
||||
// AboutDialog.cpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
#include "AboutDialog.h"
|
||||
|
||||
#include "model/Version.h"
|
||||
#include "AboutDialog.hpp"
|
||||
|
||||
#include "model/Version.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QDesktopServices>
|
||||
#include <QUrl>
|
||||
#include <QtDebug>
|
||||
|
||||
|
||||
namespace glabels
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
/* AboutDialog.h
|
||||
*
|
||||
* Copyright (C) 2016 Jaye 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 AboutDialog_h
|
||||
#define AboutDialog_h
|
||||
|
||||
|
||||
#include "ui_AboutDialog.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// About Dialog Widget
|
||||
///
|
||||
class AboutDialog : public QDialog, public Ui_AboutDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
AboutDialog( QWidget *parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onLicenseButtonClicked();
|
||||
void onWebsiteButtonClicked();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // AboutDialog_h
|
||||
@@ -0,0 +1,58 @@
|
||||
// AboutDialog.hpp
|
||||
//
|
||||
// Copyright (C) 2016 Jaye 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 AboutDialog_hpp
|
||||
#define AboutDialog_hpp
|
||||
|
||||
|
||||
#include "ui_AboutDialog.h"
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// About Dialog Widget
|
||||
///
|
||||
class AboutDialog : public QDialog, public Ui_AboutDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
AboutDialog( QWidget *parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onLicenseButtonClicked();
|
||||
void onWebsiteButtonClicked();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // AboutDialog_hpp
|
||||
+27
-26
@@ -1,30 +1,31 @@
|
||||
/* BarcodeMenu.cpp
|
||||
*
|
||||
* Copyright (C) 2014 Jaye 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/>.
|
||||
*/
|
||||
// BarcodeMenu.cpp
|
||||
//
|
||||
// Copyright (C) 2014 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
#include "BarcodeMenu.h"
|
||||
|
||||
#include "BarcodeMenuItem.h"
|
||||
#include "BarcodeMenu.hpp"
|
||||
|
||||
#include "barcode/Backends.h"
|
||||
#include "BarcodeMenuItem.hpp"
|
||||
|
||||
#include <QtDebug>
|
||||
#include "barcode/Backends.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
namespace glabels
|
||||
@@ -35,7 +36,7 @@ namespace glabels
|
||||
///
|
||||
BarcodeMenu::BarcodeMenu()
|
||||
{
|
||||
foreach ( const barcode::Style& bcStyle, barcode::Backends::styleList() )
|
||||
for ( const barcode::Style& bcStyle : barcode::Backends::styleList() )
|
||||
{
|
||||
if ( bcStyle.backendId() == "" )
|
||||
{
|
||||
@@ -47,11 +48,11 @@ namespace glabels
|
||||
}
|
||||
}
|
||||
|
||||
foreach ( const QString& backendId, barcode::Backends::backendList() )
|
||||
for ( const QString& backendId : barcode::Backends::backendList() )
|
||||
{
|
||||
QMenu* subMenu = addMenu( barcode::Backends::backendName( backendId ) );
|
||||
|
||||
foreach ( const barcode::Style& bcStyle, barcode::Backends::styleList() )
|
||||
for ( const barcode::Style& bcStyle : barcode::Backends::styleList() )
|
||||
{
|
||||
if ( bcStyle.backendId() == backendId )
|
||||
{
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
/* BarcodeMenu.h
|
||||
*
|
||||
* Copyright (C) 2014 Jaye 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 BarcodeMenu_h
|
||||
#define BarcodeMenu_h
|
||||
|
||||
|
||||
#include "barcode/Style.h"
|
||||
|
||||
#include <QMenu>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Barcode Menu
|
||||
///
|
||||
class BarcodeMenu : public QMenu
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
BarcodeMenu();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void selectionChanged();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Properties
|
||||
/////////////////////////////////
|
||||
public:
|
||||
barcode::Style bcStyle() const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onMenuItemActivated( const barcode::Style& bcStyle );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
barcode::Style mBcStyle;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // BarcodeMenu_h
|
||||
@@ -0,0 +1,79 @@
|
||||
// BarcodeMenu.hpp
|
||||
//
|
||||
// Copyright (C) 2014 Jaye 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 BarcodeMenu_hpp
|
||||
#define BarcodeMenu_hpp
|
||||
|
||||
|
||||
#include "barcode/Style.hpp"
|
||||
|
||||
#include <QMenu>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Barcode Menu
|
||||
///
|
||||
class BarcodeMenu : public QMenu
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
BarcodeMenu();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void selectionChanged();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Properties
|
||||
/////////////////////////////////
|
||||
public:
|
||||
barcode::Style bcStyle() const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onMenuItemActivated( const barcode::Style& bcStyle );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
barcode::Style mBcStyle;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // BarcodeMenu_hpp
|
||||
@@ -1,30 +1,31 @@
|
||||
/* BarcodeMenuButton.cpp
|
||||
*
|
||||
* Copyright (C) 2014 Jaye 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/>.
|
||||
*/
|
||||
// BarcodeMenuButton.cpp
|
||||
//
|
||||
// Copyright (C) 2014 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
#include "BarcodeMenuButton.h"
|
||||
|
||||
#include "BarcodeMenuItem.h"
|
||||
#include "BarcodeMenuButton.hpp"
|
||||
|
||||
#include "barcode/Backends.h"
|
||||
#include "BarcodeMenuItem.hpp"
|
||||
|
||||
#include <QtDebug>
|
||||
#include "barcode/Backends.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
namespace glabels
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
/* BarcodeMenuButton.h
|
||||
*
|
||||
* Copyright (C) 2014 Jaye 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 BarcodeMenuButton_h
|
||||
#define BarcodeMenuButton_h
|
||||
|
||||
|
||||
#include "BarcodeMenu.h"
|
||||
|
||||
#include "barcode/Style.h"
|
||||
|
||||
#include <QPushButton>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Barcode Menu Button
|
||||
///
|
||||
class BarcodeMenuButton : public QPushButton
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
BarcodeMenuButton( QWidget* parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void selectionChanged();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Properties
|
||||
/////////////////////////////////
|
||||
public:
|
||||
barcode::Style bcStyle() const;
|
||||
void setBcStyle( const barcode::Style& bcStyle );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onMenuSelectionChanged();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
BarcodeMenu* mMenu;
|
||||
barcode::Style mBcStyle;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // BarcodeMenuButton_h
|
||||
@@ -0,0 +1,83 @@
|
||||
// BarcodeMenuButton.hpp
|
||||
//
|
||||
// Copyright (C) 2014 Jaye 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 BarcodeMenuButton_hpp
|
||||
#define BarcodeMenuButton_hpp
|
||||
|
||||
|
||||
#include "BarcodeMenu.hpp"
|
||||
|
||||
#include "barcode/Style.hpp"
|
||||
|
||||
#include <QPushButton>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Barcode Menu Button
|
||||
///
|
||||
class BarcodeMenuButton : public QPushButton
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
BarcodeMenuButton( QWidget* parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void selectionChanged();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Properties
|
||||
/////////////////////////////////
|
||||
public:
|
||||
barcode::Style bcStyle() const;
|
||||
void setBcStyle( const barcode::Style& bcStyle );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onMenuSelectionChanged();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
BarcodeMenu* mMenu;
|
||||
barcode::Style mBcStyle;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // BarcodeMenuButton_hpp
|
||||
+22
-21
@@ -1,26 +1,27 @@
|
||||
/* BarcodeMenuItem.cpp
|
||||
*
|
||||
* Copyright (C) 2014 Jaye 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/>.
|
||||
*/
|
||||
// BarcodeMenuItem.cpp
|
||||
//
|
||||
// Copyright (C) 2014 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
#include "BarcodeMenuItem.h"
|
||||
|
||||
#include <QtDebug>
|
||||
#include "BarcodeMenuItem.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
namespace glabels
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
/* BarcodeMenuItem.h
|
||||
*
|
||||
* Copyright (C) 2014 Jaye 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 BarcodeMenuItem_h
|
||||
#define BarcodeMenuItem_h
|
||||
|
||||
|
||||
#include "barcode/Style.h"
|
||||
|
||||
#include <QAction>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Barcode Menu Item
|
||||
///
|
||||
class BarcodeMenuItem : public QAction
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
BarcodeMenuItem( const barcode::Style& bcStyle, QObject* parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void activated( const barcode::Style& bcStyle );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Properties
|
||||
/////////////////////////////////
|
||||
public:
|
||||
barcode::Style bcStyle() const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onTriggered();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
barcode::Style mBcStyle;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // BarcodeMenuItem_h
|
||||
@@ -0,0 +1,79 @@
|
||||
// BarcodeMenuItem.hpp
|
||||
//
|
||||
// Copyright (C) 2014 Jaye 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 BarcodeMenuItem_hpp
|
||||
#define BarcodeMenuItem_hpp
|
||||
|
||||
|
||||
#include "barcode/Style.hpp"
|
||||
|
||||
#include <QAction>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Barcode Menu Item
|
||||
///
|
||||
class BarcodeMenuItem : public QAction
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
BarcodeMenuItem( const barcode::Style& bcStyle, QObject* parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void activated( const barcode::Style& bcStyle );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Properties
|
||||
/////////////////////////////////
|
||||
public:
|
||||
barcode::Style bcStyle() const;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onTriggered();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
barcode::Style mBcStyle;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // BarcodeMenuItem_hpp
|
||||
+32
-29
@@ -21,6 +21,7 @@ set (glabels_sources
|
||||
Help.cpp
|
||||
LabelEditor.cpp
|
||||
MainWindow.cpp
|
||||
MergeTableModel.cpp
|
||||
MergeView.cpp
|
||||
MiniPreviewPixmap.cpp
|
||||
NotebookUtil.cpp
|
||||
@@ -44,34 +45,35 @@ set (glabels_sources
|
||||
)
|
||||
|
||||
set (glabels_qobject_headers
|
||||
AboutDialog.h
|
||||
BarcodeMenu.h
|
||||
BarcodeMenuButton.h
|
||||
BarcodeMenuItem.h
|
||||
ColorButton.h
|
||||
ColorHistory.h
|
||||
ColorPaletteDialog.h
|
||||
ColorPaletteItem.h
|
||||
EditVariableDialog.h
|
||||
FieldButton.h
|
||||
File.h
|
||||
LabelEditor.h
|
||||
MainWindow.h
|
||||
MergeView.h
|
||||
ObjectEditor.h
|
||||
PreferencesDialog.h
|
||||
PrinterMonitor.h
|
||||
PrintView.h
|
||||
PropertiesView.h
|
||||
Preview.h
|
||||
ReportBugDialog.h
|
||||
SelectProductDialog.h
|
||||
SimplePreview.h
|
||||
StartupView.h
|
||||
TemplateDesigner.h
|
||||
TemplatePicker.h
|
||||
UndoRedoModel.h
|
||||
VariablesView.h
|
||||
AboutDialog.hpp
|
||||
BarcodeMenu.hpp
|
||||
BarcodeMenuButton.hpp
|
||||
BarcodeMenuItem.hpp
|
||||
ColorButton.hpp
|
||||
ColorHistory.hpp
|
||||
ColorPaletteDialog.hpp
|
||||
ColorPaletteItem.hpp
|
||||
EditVariableDialog.hpp
|
||||
FieldButton.hpp
|
||||
File.hpp
|
||||
LabelEditor.hpp
|
||||
MainWindow.hpp
|
||||
MergeTableModel.hpp
|
||||
MergeView.hpp
|
||||
ObjectEditor.hpp
|
||||
PreferencesDialog.hpp
|
||||
PrinterMonitor.hpp
|
||||
PrintView.hpp
|
||||
PropertiesView.hpp
|
||||
Preview.hpp
|
||||
ReportBugDialog.hpp
|
||||
SelectProductDialog.hpp
|
||||
SimplePreview.hpp
|
||||
StartupView.hpp
|
||||
TemplateDesigner.hpp
|
||||
TemplatePicker.hpp
|
||||
UndoRedoModel.hpp
|
||||
VariablesView.hpp
|
||||
)
|
||||
|
||||
set (glabels_forms
|
||||
@@ -129,7 +131,7 @@ add_executable (glabels-qt WIN32
|
||||
)
|
||||
|
||||
target_compile_features (glabels-qt
|
||||
PUBLIC cxx_std_11
|
||||
PUBLIC cxx_std_20
|
||||
)
|
||||
|
||||
target_include_directories (glabels-qt
|
||||
@@ -138,6 +140,7 @@ target_include_directories (glabels-qt
|
||||
|
||||
target_link_libraries (glabels-qt
|
||||
Model
|
||||
Qt6::Concurrent
|
||||
Qt6::Widgets
|
||||
)
|
||||
|
||||
|
||||
+26
-25
@@ -1,35 +1,33 @@
|
||||
/* ColorButton.cpp
|
||||
*
|
||||
* Copyright (C) 2014-2016 Jaye 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/>.
|
||||
*/
|
||||
// ColorButton.cpp
|
||||
//
|
||||
// Copyright (C) 2014-2016 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
#include "ColorButton.h"
|
||||
|
||||
#include "ColorSwatch.h"
|
||||
#include "ColorButton.hpp"
|
||||
|
||||
#include "ColorSwatch.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QHBoxLayout>
|
||||
#include <QIcon>
|
||||
#include <QtDebug>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
//
|
||||
// Private
|
||||
//
|
||||
@@ -40,6 +38,9 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
ColorButton::ColorButton( QWidget* parent )
|
||||
: QPushButton( parent ), mIsDefault(0), mDialog(nullptr)
|
||||
{
|
||||
|
||||
@@ -1,105 +0,0 @@
|
||||
/* ColorButton.h
|
||||
*
|
||||
* Copyright (C) 2014-2016 Jaye 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 ColorButton_h
|
||||
#define ColorButton_h
|
||||
|
||||
|
||||
#include "ColorPaletteDialog.h"
|
||||
|
||||
#include "model/ColorNode.h"
|
||||
|
||||
#include <QPushButton>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Color Button
|
||||
///
|
||||
class ColorButton : public QPushButton
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
ColorButton( QWidget* parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void colorChanged();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Public Methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
void init( const QString& defaultLabel,
|
||||
const QColor& defaultColor,
|
||||
const QColor& color,
|
||||
bool showUseFieldButton = true );
|
||||
|
||||
void setColorNode( model::ColorNode colorNode );
|
||||
void setColor( QColor color );
|
||||
void setToDefault();
|
||||
model::ColorNode colorNode();
|
||||
|
||||
void setKeys( const merge::Merge* merge,
|
||||
const model::Variables& variables );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onButtonToggled( bool checked );
|
||||
void onPaletteDialogAccepted();
|
||||
void onPaletteDialogRejected();
|
||||
void onPaletteDialogChanged( model::ColorNode colorNode, bool isDefault );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Members
|
||||
/////////////////////////////////
|
||||
private:
|
||||
QColor mDefaultColor;
|
||||
bool mIsDefault;
|
||||
model::ColorNode mColorNode;
|
||||
|
||||
ColorPaletteDialog* mDialog;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // ColorButton_h
|
||||
@@ -0,0 +1,105 @@
|
||||
// ColorButton.hpp
|
||||
//
|
||||
// Copyright (C) 2014-2016 Jaye 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 ColorButton_hpp
|
||||
#define ColorButton_hpp
|
||||
|
||||
|
||||
#include "ColorPaletteDialog.hpp"
|
||||
|
||||
#include "model/ColorNode.hpp"
|
||||
|
||||
#include <QPushButton>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Color Button
|
||||
///
|
||||
class ColorButton : public QPushButton
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
ColorButton( QWidget* parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void colorChanged();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Public Methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
void init( const QString& defaultLabel,
|
||||
const QColor& defaultColor,
|
||||
const QColor& color,
|
||||
bool showUseFieldButton = true );
|
||||
|
||||
void setColorNode( model::ColorNode colorNode );
|
||||
void setColor( QColor color );
|
||||
void setToDefault();
|
||||
model::ColorNode colorNode();
|
||||
|
||||
void setKeys( const merge::Merge* merge,
|
||||
const model::Variables& variables );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onButtonToggled( bool checked );
|
||||
void onPaletteDialogAccepted();
|
||||
void onPaletteDialogRejected();
|
||||
void onPaletteDialogChanged( model::ColorNode colorNode, bool isDefault );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Members
|
||||
/////////////////////////////////
|
||||
private:
|
||||
QColor mDefaultColor;
|
||||
bool mIsDefault;
|
||||
model::ColorNode mColorNode;
|
||||
|
||||
ColorPaletteDialog* mDialog;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // ColorButton_hpp
|
||||
+22
-27
@@ -1,38 +1,33 @@
|
||||
/* ColorHistory.cpp
|
||||
*
|
||||
* Copyright (C) 2014-2016 Jaye 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/>.
|
||||
*/
|
||||
// ColorHistory.cpp
|
||||
//
|
||||
// Copyright (C) 2014-2016 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
#include "ColorHistory.h"
|
||||
|
||||
#include "ColorHistory.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QSettings>
|
||||
#include <QtDebug>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
ColorHistory::ColorHistory()
|
||||
{
|
||||
// empty
|
||||
}
|
||||
|
||||
|
||||
ColorHistory* ColorHistory::instance()
|
||||
{
|
||||
static ColorHistory* singletonInstance = nullptr;
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
/* ColorHistory.h
|
||||
*
|
||||
* Copyright (C) 2014-2016 Jaye 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 ColorHistory_h
|
||||
#define ColorHistory_h
|
||||
|
||||
|
||||
#include <QColor>
|
||||
#include <QObject>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Color History
|
||||
///
|
||||
class ColorHistory : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
static const int MAX_COLORS = 9;
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
ColorHistory();
|
||||
|
||||
public:
|
||||
static ColorHistory* instance();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void changed();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Public Methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
void addColor( const QColor& color, const QString& name );
|
||||
QList<QColor> getColors();
|
||||
QStringList getNames();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
QStringList readNameColorList();
|
||||
void writeNameColorList( const QStringList& nameColorList );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Members
|
||||
/////////////////////////////////
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // ColorHistory_h
|
||||
@@ -0,0 +1,86 @@
|
||||
// ColorHistory.hpp
|
||||
//
|
||||
// Copyright (C) 2014-2016 Jaye 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 ColorHistory_hpp
|
||||
#define ColorHistory_hpp
|
||||
|
||||
|
||||
#include <QColor>
|
||||
#include <QObject>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Color History
|
||||
///
|
||||
class ColorHistory : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
static const int MAX_COLORS = 9;
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
private:
|
||||
ColorHistory() = default;
|
||||
|
||||
public:
|
||||
static ColorHistory* instance();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void changed();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Public Methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
void addColor( const QColor& color, const QString& name );
|
||||
QList<QColor> getColors();
|
||||
QStringList getNames();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
QStringList readNameColorList();
|
||||
void writeNameColorList( const QStringList& nameColorList );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Members
|
||||
/////////////////////////////////
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // ColorHistory_hpp
|
||||
@@ -1,34 +1,34 @@
|
||||
/* ColorPaletteDialog.cpp
|
||||
*
|
||||
* Copyright (C) 2014-2016 Jaye 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/>.
|
||||
*/
|
||||
// ColorPaletteDialog.cpp
|
||||
//
|
||||
// Copyright (C) 2014-2016 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
|
||||
#include "ColorPaletteDialog.h"
|
||||
#include "ColorPaletteDialog.hpp"
|
||||
|
||||
#include <QColorDialog>
|
||||
#include <QDebug>
|
||||
#include <QGridLayout>
|
||||
#include <QGroupBox>
|
||||
#include <QHBoxLayout>
|
||||
#include <QPushButton>
|
||||
#include <QStandardItemModel>
|
||||
#include <QVBoxLayout>
|
||||
#include <QtDebug>
|
||||
|
||||
|
||||
namespace glabels
|
||||
@@ -288,7 +288,7 @@ namespace glabels
|
||||
QList<QColor> colorList = mColorHistory->getColors();
|
||||
|
||||
int id = 0;
|
||||
foreach ( QColor color, colorList )
|
||||
for ( QColor color : colorList )
|
||||
{
|
||||
mHistoryItem[id]->setColor( id, color, nameList[id] );
|
||||
mHistoryItem[id]->setEnabled( true );
|
||||
|
||||
@@ -1,119 +0,0 @@
|
||||
/* ColorPaletteDialog.h
|
||||
*
|
||||
* Copyright (C) 2014-2016 Jaye 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 ColorPaletteDialog_h
|
||||
#define ColorPaletteDialog_h
|
||||
|
||||
|
||||
#include "ColorHistory.h"
|
||||
#include "ColorPaletteItem.h"
|
||||
#include "FieldButton.h"
|
||||
|
||||
#include "model/ColorNode.h"
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Color Palette Dialog
|
||||
///
|
||||
class ColorPaletteDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
ColorPaletteDialog( const QString& defaultLabel,
|
||||
const QColor& defaultColor,
|
||||
const QColor& color,
|
||||
bool showUseFieldButton = true,
|
||||
QWidget* parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void colorChanged( model::ColorNode colorNode, bool isDefault );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Public Methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
void setColorNode( const model::ColorNode& colorNode );
|
||||
|
||||
void setKeys( const merge::Merge* merge,
|
||||
const model::Variables& variables );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onPaletteItemActivated( int id );
|
||||
void onHistoryItemActivated( int id );
|
||||
void onDefaultButtonClicked();
|
||||
void onCustomColorButtonClicked();
|
||||
void onKeySelected( QString key );
|
||||
void onColorHistoryChanged();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
void loadCustomColorHistory();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Members
|
||||
/////////////////////////////////
|
||||
private:
|
||||
QColor mDefaultColor;
|
||||
model::ColorNode mColorNode;
|
||||
|
||||
static const int PALETTE_COLS = ColorHistory::MAX_COLORS;
|
||||
static const int PALETTE_ROWS = 4;
|
||||
|
||||
struct ColorTableEntry {
|
||||
QString colorSpec;
|
||||
const char* trname;
|
||||
};
|
||||
|
||||
static ColorTableEntry mColorTable[];
|
||||
|
||||
ColorHistory* mColorHistory;
|
||||
ColorPaletteItem* mHistoryItem[PALETTE_COLS];
|
||||
|
||||
FieldButton* mFieldButton;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // ColorPaletteDialog_h
|
||||
@@ -0,0 +1,119 @@
|
||||
// ColorPaletteDialog.hpp
|
||||
//
|
||||
// Copyright (C) 2014-2016 Jaye 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 ColorPaletteDialog_hpp
|
||||
#define ColorPaletteDialog_hpp
|
||||
|
||||
|
||||
#include "ColorHistory.hpp"
|
||||
#include "ColorPaletteItem.hpp"
|
||||
#include "FieldButton.hpp"
|
||||
|
||||
#include "model/ColorNode.hpp"
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Color Palette Dialog
|
||||
///
|
||||
class ColorPaletteDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
ColorPaletteDialog( const QString& defaultLabel,
|
||||
const QColor& defaultColor,
|
||||
const QColor& color,
|
||||
bool showUseFieldButton = true,
|
||||
QWidget* parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void colorChanged( model::ColorNode colorNode, bool isDefault );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Public Methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
void setColorNode( const model::ColorNode& colorNode );
|
||||
|
||||
void setKeys( const merge::Merge* merge,
|
||||
const model::Variables& variables );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Slots
|
||||
/////////////////////////////////
|
||||
private slots:
|
||||
void onPaletteItemActivated( int id );
|
||||
void onHistoryItemActivated( int id );
|
||||
void onDefaultButtonClicked();
|
||||
void onCustomColorButtonClicked();
|
||||
void onKeySelected( QString key );
|
||||
void onColorHistoryChanged();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
void loadCustomColorHistory();
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Members
|
||||
/////////////////////////////////
|
||||
private:
|
||||
QColor mDefaultColor;
|
||||
model::ColorNode mColorNode;
|
||||
|
||||
static const int PALETTE_COLS = ColorHistory::MAX_COLORS;
|
||||
static const int PALETTE_ROWS = 4;
|
||||
|
||||
struct ColorTableEntry {
|
||||
QString colorSpec;
|
||||
const char* trname;
|
||||
};
|
||||
|
||||
static ColorTableEntry mColorTable[];
|
||||
|
||||
ColorHistory* mColorHistory;
|
||||
ColorPaletteItem* mHistoryItem[PALETTE_COLS];
|
||||
|
||||
FieldButton* mFieldButton;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // ColorPaletteDialog_hpp
|
||||
@@ -1,32 +1,30 @@
|
||||
/* ColorPaletteItem.cpp
|
||||
*
|
||||
* Copyright (C) 2014 Jaye 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/>.
|
||||
*/
|
||||
// ColorPaletteItem.cpp
|
||||
//
|
||||
// Copyright (C) 2014 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
#include "ColorPaletteItem.h"
|
||||
|
||||
#include "ColorPaletteItem.hpp"
|
||||
|
||||
#include <QMouseEvent>
|
||||
#include <QPainter>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
//
|
||||
// Private
|
||||
//
|
||||
@@ -36,12 +34,13 @@ namespace glabels
|
||||
const int wSwatch = 25;
|
||||
const int hSwatch = 25;
|
||||
|
||||
const int hoverBgOutlineWidthPixels = 1;
|
||||
|
||||
const int outlineWidthPixels = 1;
|
||||
}
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Constructor From Data
|
||||
///
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
/* ColorPaletteItem.h
|
||||
*
|
||||
* Copyright (C) 2014 Jaye 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 ColorPaletteItem_h
|
||||
#define ColorPaletteItem_h
|
||||
|
||||
|
||||
#include <QColor>
|
||||
#include <QWidget>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Color Palette Item
|
||||
///
|
||||
class ColorPaletteItem : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
ColorPaletteItem( int id,
|
||||
const QColor& color,
|
||||
const QString& tip,
|
||||
QWidget* parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void activated( int id );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Public Methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
void setColor( int id,
|
||||
const QColor& color,
|
||||
const QString& tip );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Event handlers
|
||||
/////////////////////////////////
|
||||
protected:
|
||||
void paintEvent( QPaintEvent* event ) override;
|
||||
void enterEvent( QEnterEvent* event ) override;
|
||||
void leaveEvent( QEvent* event ) override;
|
||||
void mousePressEvent( QMouseEvent* event ) override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
int mId;
|
||||
QColor mColor;
|
||||
QString mTip;
|
||||
|
||||
bool mHover;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // ColorPaletteItem_h
|
||||
@@ -0,0 +1,89 @@
|
||||
// ColorPaletteItem.hpp
|
||||
//
|
||||
// Copyright (C) 2014 Jaye 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 ColorPaletteItem_hpp
|
||||
#define ColorPaletteItem_hpp
|
||||
|
||||
|
||||
#include <QColor>
|
||||
#include <QWidget>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Color Palette Item
|
||||
///
|
||||
class ColorPaletteItem : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
ColorPaletteItem( int id,
|
||||
const QColor& color,
|
||||
const QString& tip,
|
||||
QWidget* parent = nullptr );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Signals
|
||||
/////////////////////////////////
|
||||
signals:
|
||||
void activated( int id );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Public Methods
|
||||
/////////////////////////////////
|
||||
public:
|
||||
void setColor( int id,
|
||||
const QColor& color,
|
||||
const QString& tip );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Event handlers
|
||||
/////////////////////////////////
|
||||
protected:
|
||||
void paintEvent( QPaintEvent* event ) override;
|
||||
void enterEvent( QEnterEvent* event ) override;
|
||||
void leaveEvent( QEvent* event ) override;
|
||||
void mousePressEvent( QMouseEvent* event ) override;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private Data
|
||||
/////////////////////////////////
|
||||
private:
|
||||
int mId;
|
||||
QColor mColor;
|
||||
QString mTip;
|
||||
|
||||
bool mHover;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // ColorPaletteItem_hpp
|
||||
+24
-23
@@ -1,31 +1,29 @@
|
||||
/* ColorSwatch.cpp
|
||||
*
|
||||
* Copyright (C) 2014 Jaye 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/>.
|
||||
*/
|
||||
// ColorSwatch.cpp
|
||||
//
|
||||
// Copyright (C) 2014 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
#include "ColorSwatch.h"
|
||||
|
||||
#include "ColorSwatch.hpp"
|
||||
|
||||
#include <QPainter>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
//
|
||||
// Private
|
||||
//
|
||||
@@ -36,6 +34,9 @@ namespace glabels
|
||||
}
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Constructor
|
||||
///
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
/* ColorSwatch.h
|
||||
*
|
||||
* Copyright (C) 2014 Jaye 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 ColorSwatch_h
|
||||
#define ColorSwatch_h
|
||||
|
||||
|
||||
#include <QPixmap>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Simple Preview Widget
|
||||
///
|
||||
class ColorSwatch : public QPixmap
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
ColorSwatch( int w, int h, const QColor& color );
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // ColorSwatch_h
|
||||
@@ -0,0 +1,48 @@
|
||||
// ColorSwatch.hpp
|
||||
//
|
||||
// Copyright (C) 2014 Jaye 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 ColorSwatch_hpp
|
||||
#define ColorSwatch_hpp
|
||||
|
||||
|
||||
#include <QPixmap>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
|
||||
///
|
||||
/// Simple Preview Widget
|
||||
///
|
||||
class ColorSwatch : public QPixmap
|
||||
{
|
||||
|
||||
/////////////////////////////////
|
||||
// Life Cycle
|
||||
/////////////////////////////////
|
||||
public:
|
||||
ColorSwatch( int w, int h, const QColor& color );
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif // ColorSwatch_hpp
|
||||
+21
-20
@@ -1,24 +1,25 @@
|
||||
/* Cursors.cpp
|
||||
*
|
||||
* Copyright (C) 2013 Jaye 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/>.
|
||||
*/
|
||||
// Cursors.cpp
|
||||
//
|
||||
// Copyright (C) 2013 Jaye Evins <evins@snaught.com>
|
||||
//
|
||||
// This file is part of gLabels-qt.
|
||||
//
|
||||
// gLabels-qt is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// gLabels-qt is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
#include "Cursors.h"
|
||||
|
||||
#include "Cursors.hpp"
|
||||
|
||||
#include <QPixmap>
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user