Skip to content

Commit

Permalink
AboutDlg more info
Browse files Browse the repository at this point in the history
  • Loading branch information
schorsch1976 committed Jun 21, 2019
1 parent e463a33 commit 609c6bd
Show file tree
Hide file tree
Showing 7 changed files with 1,179 additions and 90 deletions.
30 changes: 30 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,36 @@ IF (WIN32)
ENDIF(MSYS)
ENDIF (WIN32)

######################################################################
# Version
######################################################################
# branch
EXECUTE_PROCESS(
COMMAND git rev-parse --abbrev-ref HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_BRANCH
OUTPUT_STRIP_TRAILING_WHITESPACE
)

# commit hash
EXECUTE_PROCESS(
COMMAND git log -1 --format=%h
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE
)

# description
EXECUTE_PROCESS(
COMMAND git describe --tags
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_DESCRIPTION
OUTPUT_STRIP_TRAILING_WHITESPACE
)

ADD_DEFINITIONS("-DGIT_COMMIT_HASH=${GIT_COMMIT_HASH}")
ADD_DEFINITIONS("-DGIT_BRANCH=${GIT_BRANCH}")
ADD_DEFINITIONS("-DGIT_DESCRIPTION=${GIT_DESCRIPTION}")

######################################################################
# QT 5
Expand Down
36 changes: 36 additions & 0 deletions src/about.cpp
Original file line number Diff line number Diff line change
@@ -1,11 +1,47 @@
#include "about.h"
#include "ui_about.h"

#include <QDebug>
#include <QDesktopServices>

#define STRINGIFY(string) LOCALSTRING(string)
#define LOCALSTRING(string) #string

About::About(QWidget *parent) : QDialog(parent), ui(new Ui::About)
{
ui->setupUi(this);

connect(ui->btnOk, &QPushButton::clicked, [this]() { this->close(); });

// Ascii flow
ui->labelAsciiFlowVersion->setText(STRINGIFY(GIT_COMMIT_HASH));
ui->labelAsciiFlowBranch->setText(STRINGIFY(GIT_BRANCH));
ui->labelAsciiFlowDescription->setText(STRINGIFY(GIT_DESCRIPTION));

connect(ui->commandLinkButtonHomeAsciiFlow, &QCommandLinkButton::pressed,
[this]() {
QString link = ui->commandLinkButtonHomeAsciiFlow->text();
link.remove(0, 1);
bool res = QDesktopServices::openUrl(QUrl(link));
if (!res)
{
qDebug() << "Failed to open url: " << link;
}
});

// QT
ui->labelRunningQTVersion->setText(qVersion());
ui->labelCompiledQTVersion->setText(QT_VERSION_STR);
connect(ui->commandLinkButtonHomeQT, &QCommandLinkButton::pressed,
[this]() {
QString link = ui->commandLinkButtonHomeQT->text();
link.remove(0, 1);
bool res = QDesktopServices::openUrl(QUrl(link));
if (!res)
{
qDebug() << "Failed to open url: " << link;
}
});
}

About::~About() { delete ui; }
1,091 changes: 1,057 additions & 34 deletions src/about.ui

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Q_INIT_RESOURCE(resource);

a.setWindowIcon(QIcon(":/ico/class.png"));

Q_INIT_RESOURCE(resource);

a.setWindowIcon(QIcon(":/ico/class.png"));

MainWindow w;
w.show();

Expand Down
72 changes: 36 additions & 36 deletions src/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ MainWindow::MainWindow(QWidget *parent)
// connect the tool handlers
connect(ui->actionToolArrow, &QAction::triggered, ui->customArea,
&QAsciiArt::ActivateToolArrow);
connect(ui->actionToolLine, &QAction::triggered, ui->customArea,
&QAsciiArt::ActivateToolLine);
connect(ui->actionToolLine, &QAction::triggered, ui->customArea,
&QAsciiArt::ActivateToolLine);
connect(ui->actionToolClass, &QAction::triggered, ui->customArea,
&QAsciiArt::ActivateToolClass);
connect(ui->actionToolErase, &QAction::triggered, ui->customArea,
Expand All @@ -38,48 +38,48 @@ MainWindow::MainWindow(QWidget *parent)
&QAsciiArt::Undo);

connect(ui->customArea, &QAsciiArt::RedoAvail,
[this](bool state) { ui->btnRedo->setEnabled(state); });
[this](bool state) { ui->btnRedo->setEnabled(state); });
connect(ui->customArea, &QAsciiArt::UndoAvail,
[this](bool state) { ui->btnUndo->setEnabled(state); });
[this](bool state) { ui->btnUndo->setEnabled(state); });

// scrollarea
ui->scrollArea->setBackgroundRole(QPalette::Dark);
connect(ui->customArea, &QAsciiArt::DataAreaChanged,
[this](QPoint p) { ui->scrollArea->ensureVisible(p.x(), p.y()); });

ui->btnRedo->setEnabled(false);
ui->btnUndo->setEnabled(false);
ui->btnRedo->setEnabled(false);
ui->btnUndo->setEnabled(false);

// connect the tool buttons to trigger the actions
connect(ui->btnToolArrow, &QToolButton::clicked, ui->actionToolArrow,
connect(ui->btnToolArrow, &QToolButton::clicked, ui->actionToolArrow,
&QAction::trigger);
connect(ui->btnToolLine, &QToolButton::clicked, ui->actionToolLine,
connect(ui->btnToolLine, &QToolButton::clicked, ui->actionToolLine,
&QAction::trigger);
connect(ui->btnToolClass, &QToolButton::clicked, ui->actionToolClass,
connect(ui->btnToolClass, &QToolButton::clicked, ui->actionToolClass,
&QAction::trigger);
connect(ui->btnToolErase, &QToolButton::clicked, ui->actionToolErase,
connect(ui->btnToolErase, &QToolButton::clicked, ui->actionToolErase,
&QAction::trigger);
connect(ui->btnToolFreehand, &QToolButton::clicked, ui->actionToolFreehand,
connect(ui->btnToolFreehand, &QToolButton::clicked, ui->actionToolFreehand,
&QAction::trigger);
connect(ui->btnToolMove, &QToolButton::clicked, ui->actionToolMove,
&QAction::trigger);
connect(ui->btnToolRectangle, &QToolButton::clicked,
connect(ui->btnToolMove, &QToolButton::clicked, ui->actionToolMove,
&QAction::trigger);
connect(ui->btnToolRectangle, &QToolButton::clicked,
ui->actionToolRectangle, &QAction::trigger);
connect(ui->btnToolText, &QToolButton::clicked, ui->actionToolText,
&QAction::trigger);

// Connect the toolbar buttons to the actions
connect(ui->btnNew, &QToolButton::clicked, ui->actionNew,
&QAction::trigger);
connect(ui->btnImport, &QToolButton::clicked, ui->actionImport,
&QAction::trigger);
connect(ui->btnExport, &QToolButton::clicked, ui->actionExport,
&QAction::trigger);
connect(ui->btnUndo, &QToolButton::clicked, ui->actionUndo,
&QAction::trigger);
connect(ui->btnRedo, &QToolButton::clicked, ui->actionRedo,
&QAction::trigger);
connect(ui->btnAbout, &QToolButton::clicked, ui->actionAbout,
connect(ui->btnToolText, &QToolButton::clicked, ui->actionToolText,
&QAction::trigger);

// Connect the toolbar buttons to the actions
connect(ui->btnNew, &QToolButton::clicked, ui->actionNew,
&QAction::trigger);
connect(ui->btnImport, &QToolButton::clicked, ui->actionImport,
&QAction::trigger);
connect(ui->btnExport, &QToolButton::clicked, ui->actionExport,
&QAction::trigger);
connect(ui->btnUndo, &QToolButton::clicked, ui->actionUndo,
&QAction::trigger);
connect(ui->btnRedo, &QToolButton::clicked, ui->actionRedo,
&QAction::trigger);
connect(ui->btnAbout, &QToolButton::clicked, ui->actionAbout,
&QAction::trigger);

// custom widget to us
Expand All @@ -93,16 +93,16 @@ MainWindow::MainWindow(QWidget *parent)

connect(ui->actionAbout, &QAction::triggered, this, &MainWindow::OnAbout);

// default Tool
ui->btnToolLine->setChecked(true);
// default Tool
ui->btnToolLine->setChecked(true);
}

MainWindow::~MainWindow() { delete ui; }

void MainWindow::OnToolChanged(Tool tool)
{
ui->btnToolArrow->setChecked(false);
ui->btnToolLine->setChecked(false);
ui->btnToolLine->setChecked(false);
ui->btnToolClass->setChecked(false);
ui->btnToolErase->setChecked(false);
ui->btnToolFreehand->setChecked(false);
Expand All @@ -116,10 +116,10 @@ void MainWindow::OnToolChanged(Tool tool)
ui->actionToolArrow->setChecked(true);
ui->btnToolArrow->setChecked(true);
break;
case Tool::Line:
ui->actionToolLine->setChecked(true);
ui->btnToolLine->setChecked(true);
break;
case Tool::Line:
ui->actionToolLine->setChecked(true);
ui->btnToolLine->setChecked(true);
break;
case Tool::Class:
ui->actionToolClass->setChecked(true);
ui->btnToolClass->setChecked(true);
Expand Down
26 changes: 13 additions & 13 deletions src/qasciiart.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
#include <QPainter>
#include <QPen>

#include "ToolArrow.h"
#include "ToolClass.h"
#include "ToolErase.h"
#include "ToolFreehand.h"
#include "ToolLine.h"
#include "ToolMove.h"
#include "ToolRectangle.h"
#include "ToolText.h"
#include "ToolArrow.h"
#include "ToolClass.h"
#include "ToolErase.h"
#include "ToolFreehand.h"
#include "ToolLine.h"
#include "ToolMove.h"
#include "ToolRectangle.h"
#include "ToolText.h"

///////////////////////////////////////////////////////////////////////////////
// The Widget
Expand All @@ -32,7 +32,7 @@ QAsciiArt::QAsciiArt(QWidget *parent)
connect(&m_data, &AsciiArtData::DataAreaChanged, this,
&QAsciiArt::OnDataAreaChanged);

ActivateToolHelper(Tool::Line);
ActivateToolHelper(Tool::Line);

setFocusPolicy(Qt::FocusPolicy::StrongFocus);
}
Expand Down Expand Up @@ -222,7 +222,7 @@ void QAsciiArt::ActivateToolMove() { ActivateToolHelper(Tool::Move); }
void QAsciiArt::ActivateToolRectangle() { ActivateToolHelper(Tool::Rectangle); }
void QAsciiArt::ActivateToolClass() { ActivateToolHelper(Tool::Class); }
void QAsciiArt::ActivateToolArrow() { ActivateToolHelper(Tool::Arrow); }
void QAsciiArt::ActivateToolLine() { ActivateToolHelper(Tool::Line); }
void QAsciiArt::ActivateToolLine() { ActivateToolHelper(Tool::Line); }
void QAsciiArt::ActivateToolText() { ActivateToolHelper(Tool::Text); }

void QAsciiArt::ActivateToolFreehand() { ActivateToolHelper(Tool::Freehand); }
Expand Down Expand Up @@ -284,9 +284,9 @@ void QAsciiArt::ActivateToolHelper(Tool tool)
case Tool::Arrow:
mp_current_tool.reset(new ToolArrow(m_data));
break;
case Tool::Line:
mp_current_tool.reset(new ToolLine(m_data));
break;
case Tool::Line:
mp_current_tool.reset(new ToolLine(m_data));
break;
case Tool::Text:
mp_current_tool.reset(new ToolText(m_data));
break;
Expand Down
6 changes: 3 additions & 3 deletions src/qasciiart.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#ifndef QASCIIART_H
#define QASCIIART_H

#include "ITool.h"

#include "ITool.h"

#include <QBrush>
#include <QFont>
#include <QPen>
Expand Down Expand Up @@ -52,7 +52,7 @@ public slots:
void ActivateToolRectangle();
void ActivateToolClass();
void ActivateToolArrow();
void ActivateToolLine();
void ActivateToolLine();
void ActivateToolText();
void ActivateToolFreehand();
void ActivateToolErase();
Expand Down

0 comments on commit 609c6bd

Please sign in to comment.