diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index db3344f..726f178 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -2,25 +2,31 @@ cmake_minimum_required (VERSION 2.8) project (app CXX) -set (qtlabels_sources - qtlabels_main.cpp +set (glabels_sources + glabels_main.cpp BarcodeStyle.cpp ColorNode.cpp LabelModel.cpp LabelModelItem.cpp LabelRegion.cpp + MainWindow.cpp MergeField.cpp MergeRecord.cpp TextNode.cpp ) -set (qobject_headers +set (glabels_qobject_headers LabelModel.h LabelModelItem.h + MainWindow.h ) -qt4_wrap_cpp (moc_sources ${qobject_headers}) +set (glabels_resource_files + images.qrc +) +qt4_wrap_cpp (glabels_moc_sources ${glabels_qobject_headers}) +qt4_add_resources(glabels_qrc_sources ${glabels_resource_files}) include (${QT_USE_FILE}) @@ -31,11 +37,11 @@ include_directories ( link_directories ( ) -add_executable (qtlabels ${qtlabels_sources} ${moc_sources}) +add_executable (glabels-qt ${glabels_sources} ${glabels_moc_sources} ${glabels_qrc_sources}) -target_link_libraries (qtlabels +target_link_libraries (glabels-qt ${QT_LIBRARIES} ) -install (TARGETS qtlabels RUNTIME DESTINATION bin) +install (TARGETS glabels-qt RUNTIME DESTINATION bin) diff --git a/app/MainWindow.cpp b/app/MainWindow.cpp new file mode 100644 index 0000000..8cd99e7 --- /dev/null +++ b/app/MainWindow.cpp @@ -0,0 +1,82 @@ +/* MainWindow.cpp + * + * Copyright (C) 2013 Jim Evins + * + * This file is part of gLabels-qt. + * + * gLabels-qt is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * gLabels-qt is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with gLabels-qt. If not, see . + */ + +#include "MainWindow.h" + +#include +#include + +#include + + +namespace gLabels +{ + + MainWindow::MainWindow() + { + QLabel *tmp = new QLabel( "Coming Soon..." ); + setCentralWidget( tmp ); + + createActions(); + createMenus(); + } + + + void MainWindow::closeEvent( QCloseEvent *event ) + { + std::cout << "CLOSE EVENT" << std::endl; + event->accept(); + } + + + void MainWindow::about() + { + QMessageBox aboutBox( QMessageBox::NoIcon, + tr("About gLabels"), + tr("

gLabels-qt

" + "

x.x.x

" + "

A label and business card creation program.

" + "" + "

Homepage

" + "

Copyright © 2013 Jim Evins

" + "
"), + QMessageBox::Ok, + this ); + aboutBox.setIconPixmap( QPixmap( ":/images/glabels-logo.png" ) ); + + aboutBox.exec(); + } + + + void MainWindow::createActions() + { + aboutAction = new QAction( tr("&About..."), this ); + aboutAction->setStatusTip( tr("About gLabels") ); + connect( aboutAction, SIGNAL(triggered()), this, SLOT(about()) ); + } + + + void MainWindow::createMenus() + { + helpMenu = menuBar()->addMenu( tr("&Help") ); + helpMenu->addAction( aboutAction ); + } + +} diff --git a/app/MainWindow.h b/app/MainWindow.h new file mode 100644 index 0000000..0e5193a --- /dev/null +++ b/app/MainWindow.h @@ -0,0 +1,62 @@ +/* MainWindow.h + * + * Copyright (C) 2013 Jim Evins + * + * This file is part of gLabels-qt. + * + * gLabels-qt is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * gLabels-qt is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with gLabels-qt. If not, see . + */ + +#ifndef glabels_MainWindow_h +#define glabels_MainWindow_h + +#include +#include +#include +#include +#include + + +namespace gLabels +{ + + class MainWindow : public QMainWindow + { + Q_OBJECT + + public: + MainWindow(); + + + protected: + void closeEvent( QCloseEvent *event ); + + + private slots: + void about(); + + + private: + void createActions(); + void createMenus(); + + QMenu *helpMenu; + + QAction *aboutAction; + + }; + +} + +#endif // glabels_MainWindow_h diff --git a/app/qtlabels_main.cpp b/app/glabels_main.cpp similarity index 63% rename from app/qtlabels_main.cpp rename to app/glabels_main.cpp index b0fa244..0e28859 100644 --- a/app/qtlabels_main.cpp +++ b/app/glabels_main.cpp @@ -1,33 +1,38 @@ -/* qtlabels_main.cpp +/* glabels_main.cpp * * Copyright (C) 2011 Jim Evins * - * This file is part of qtLabels. + * This file is part of gLabels-qt. * - * qtLabels is free software: you can redistribute it and/or modify + * 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. * - * qtLabels is distributed in the hope that it will be useful, + * 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 qtLabels. If not, see . + * along with gLabels-qt. If not, see . */ #include -#include + +#include "MainWindow.h" + + +using namespace gLabels; + int main( int argc, char **argv ) { QApplication app( argc, argv ); - QLabel label( "Coming Soon..." ); - label.show(); + MainWindow mainWin; + mainWin.show(); return app.exec(); } diff --git a/app/images.qrc b/app/images.qrc new file mode 100644 index 0000000..0a470c1 --- /dev/null +++ b/app/images.qrc @@ -0,0 +1,7 @@ + + + + + images/glabels-logo.png + + diff --git a/app/images/glabels-logo.png b/app/images/glabels-logo.png new file mode 100644 index 0000000..e3066c9 Binary files /dev/null and b/app/images/glabels-logo.png differ