From 95467b6ed210e118148a35e8e31e4d45e440f84c Mon Sep 17 00:00:00 2001 From: Jim Evins Date: Sun, 26 Feb 2017 15:07:44 -0500 Subject: [PATCH] Fleshing out installation. --- CMakeLists.txt | 2 + README.md | 3 + data/CMakeLists.txt | 14 +++++ data/glabels-qt.appdata.xml | 29 +++++++++ data/glabels-qt.desktop | 11 ++++ data/x-glabels-document.mime.xml | 9 +++ glabels/CMakeLists.txt | 15 +++-- glabels/Db.cpp | 27 ++++---- .../16x16/mimetypes/x-glabels-project.svg | 35 +++++++++++ .../22x22/mimetypes/x-glabels-project.svg | 43 +++++++++++++ .../24x24/mimetypes/x-glabels-project.svg | 43 +++++++++++++ .../scalable/mimetypes/x-glabels-project.svg | 43 +++++++++++++ templates/CMakeLists.txt | 61 +++++++++++++++++++ 13 files changed, 319 insertions(+), 16 deletions(-) create mode 100644 data/CMakeLists.txt create mode 100644 data/glabels-qt.appdata.xml create mode 100644 data/glabels-qt.desktop create mode 100644 data/x-glabels-document.mime.xml create mode 100644 glabels/icons/16x16/mimetypes/x-glabels-project.svg create mode 100644 glabels/icons/22x22/mimetypes/x-glabels-project.svg create mode 100644 glabels/icons/24x24/mimetypes/x-glabels-project.svg create mode 100644 glabels/icons/scalable/mimetypes/x-glabels-project.svg create mode 100644 templates/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c744db..dd4fbb6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,4 +38,6 @@ find_package(ZLIB 1.2 REQUIRED) # Subdirectories #======================================= add_subdirectory (glabels) +add_subdirectory (templates) +add_subdirectory (data) diff --git a/README.md b/README.md index 5fdef08..f44dc7b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +![logo](glabels/images/glabels-logo.png) +![gLabels Label Designer](glabels/images/glabels-label-designer.png) + gLabels-qt ========== diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt new file mode 100644 index 0000000..98755a7 --- /dev/null +++ b/data/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required (VERSION 2.8.12) + +############################################################################### +# gLabels data subproject +############################################################################### +project (data) + +#======================================= +# 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) + diff --git a/data/glabels-qt.appdata.xml b/data/glabels-qt.appdata.xml new file mode 100644 index 0000000..cef64fd --- /dev/null +++ b/data/glabels-qt.appdata.xml @@ -0,0 +1,29 @@ + + + glabels-qt.desktop + CC0-1.0 + GPL-3.0+ + gLabels + Create labels, business cards and media covers + +

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.

+

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.

+
+ + http://glabels.org/ + https://github.com/jimevins/glabels-qt/issues + evins_at_snaught.com +
diff --git a/data/glabels-qt.desktop b/data/glabels-qt.desktop new file mode 100644 index 0000000..dad65b3 --- /dev/null +++ b/data/glabels-qt.desktop @@ -0,0 +1,11 @@ +[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; diff --git a/data/x-glabels-document.mime.xml b/data/x-glabels-document.mime.xml new file mode 100644 index 0000000..51c5e40 --- /dev/null +++ b/data/x-glabels-document.mime.xml @@ -0,0 +1,9 @@ + + + + gLabels Project File + + + + + diff --git a/glabels/CMakeLists.txt b/glabels/CMakeLists.txt index e39fc72..39b76ac 100644 --- a/glabels/CMakeLists.txt +++ b/glabels/CMakeLists.txt @@ -200,10 +200,6 @@ include_directories ( ${Qt5Svg_INCLUDE_DIRS} ) -link_directories ( - ${glabels_qt_SOURCE_DIR}/libglabels -) - #======================================= # Subdirectories @@ -215,3 +211,14 @@ add_subdirectory (Merge) # Install #======================================= install (TARGETS glabels-qt RUNTIME DESTINATION bin) + +install (FILES icons/scalable/apps/glabels.svg DESTINATION share/icons/hicolor/scalable/apps) +install (FILES icons/16x16/apps/glabels.svg DESTINATION share/icons/hicolor/16x16/apps) +install (FILES icons/22x22/apps/glabels.svg DESTINATION share/icons/hicolor/22x22/apps) +install (FILES icons/32x32/apps/glabels.svg DESTINATION share/icons/hicolor/32x32/apps) +install (FILES icons/48x48/apps/glabels.svg DESTINATION share/icons/hicolor/48x48/apps) + +install (FILES icons/scalable/mimetypes/x-glabels-project.svg DESTINATION share/icons/hicolor/scalable/mimetypes) +install (FILES icons/16x16/mimetypes/x-glabels-project.svg DESTINATION share/icons/hicolor/16x16/mimetypes) +install (FILES icons/22x22/mimetypes/x-glabels-project.svg DESTINATION share/icons/hicolor/22x22/mimetypes) +install (FILES icons/24x24/mimetypes/x-glabels-project.svg DESTINATION share/icons/hicolor/24x24/mimetypes) diff --git a/glabels/Db.cpp b/glabels/Db.cpp index 422d63b..1481560 100644 --- a/glabels/Db.cpp +++ b/glabels/Db.cpp @@ -23,6 +23,7 @@ #include #include +#include #include "Config.h" #include "StrUtil.h" @@ -604,22 +605,24 @@ namespace glabels QDir Db::systemTemplatesDir() { - QDir dir(QApplication::applicationDirPath()); + QDir dir; - if ( dir.dirName() == "bin" ) + // First, try finding templates directory relative to application path + dir.cd( QApplication::applicationDirPath() ); + if ( (dir.dirName() == "bin") && + dir.cdUp() && dir.cd( "share" ) && dir.cd( "glabels-qt" ) && dir.cd( "templates" ) ) { - dir.cdUp(); - dir.cd( "share" ); - dir.cd( "libglabels-3.0" ); // TODO: install qt version - } - else - { - // Working out of build directory - dir.cd( Config::PROJECT_SOURCE_DIR ); + return dir; } - dir.cd( "templates" ); - return dir; + // Next, try running out of the source directory. + if ( dir.cd( Config::PROJECT_SOURCE_DIR ) && dir.cd( "templates" ) ) + { + return dir; + } + + qFatal( "Cannot find template directory!" ); + return QDir("/"); } diff --git a/glabels/icons/16x16/mimetypes/x-glabels-project.svg b/glabels/icons/16x16/mimetypes/x-glabels-project.svg new file mode 100644 index 0000000..3ec7ab7 --- /dev/null +++ b/glabels/icons/16x16/mimetypes/x-glabels-project.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + diff --git a/glabels/icons/22x22/mimetypes/x-glabels-project.svg b/glabels/icons/22x22/mimetypes/x-glabels-project.svg new file mode 100644 index 0000000..9f4dab2 --- /dev/null +++ b/glabels/icons/22x22/mimetypes/x-glabels-project.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/glabels/icons/24x24/mimetypes/x-glabels-project.svg b/glabels/icons/24x24/mimetypes/x-glabels-project.svg new file mode 100644 index 0000000..f69edb7 --- /dev/null +++ b/glabels/icons/24x24/mimetypes/x-glabels-project.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/glabels/icons/scalable/mimetypes/x-glabels-project.svg b/glabels/icons/scalable/mimetypes/x-glabels-project.svg new file mode 100644 index 0000000..f69edb7 --- /dev/null +++ b/glabels/icons/scalable/mimetypes/x-glabels-project.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/CMakeLists.txt b/templates/CMakeLists.txt new file mode 100644 index 0000000..085cbb7 --- /dev/null +++ b/templates/CMakeLists.txt @@ -0,0 +1,61 @@ +cmake_minimum_required (VERSION 2.8.12) + +############################################################################### +# gLabels templates subproject +############################################################################### +project (templates) + +#======================================= +# Template Files +#======================================= +set (template_dtd glabels-3.0.dtd) + +set (template_files + ascom-iso-templates.xml + avery-iso-templates.xml + avery-other-templates.xml + avery-us-templates.xml + begalabel-templates.xml + brother-other-templates.xml + cablelabel-templates.xml + canon-other-templates.xml + databecker-iso-templates.xml + dataline-iso-templates.xml + decadry-iso-templates.xml + desmat-templates.xml + dymo-other-templates.xml + endisch-templates.xml + geha-iso-templates.xml + hama-iso-templates.xml + herma-iso-templates.xml + hisago-templates.xml + igepa-templates.xml + jac-iso-templates.xml + maco-us-templates.xml + mayspies-templates.xml + meritline-us-templates.xml + microapp-templates.xml + misc-iso-templates.xml + misc-other-templates.xml + misc-us-templates.xml + online-templates.xml + pearl-iso-templates.xml + rayfilm-templates.xml + sheetlabels-us-templates.xml + uline-us-templates.xml + worldlabel-us-templates.xml + zweckform-iso-templates.xml +) + +set (other_db_files + categories.xml + paper-sizes.xml + vendors.xml +) + +#======================================= +# Install +#======================================= +install (FILES ${template_dtd} DESTINATION share/glabels-qt/templates) +install (FILES ${template_files} DESTINATION share/glabels-qt/templates) +install (FILES ${other_db_files} DESTINATION share/glabels-qt/templates)