Skip to content

Commit

Permalink
Refactor MainWindow
Browse files Browse the repository at this point in the history
  • Loading branch information
xorz57 committed Mar 4, 2024
1 parent 80f68df commit d44c06d
Show file tree
Hide file tree
Showing 2 changed files with 122 additions and 135 deletions.
11 changes: 3 additions & 8 deletions mainwindow.cpp
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QFile>
#include <QFileDialog>
#include <QTextStream>

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

connect(ui->inputPlainTextEdit, SIGNAL(textChanged()), this, SLOT(translate()));
Expand All @@ -15,14 +14,10 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
connect(ui->actionZoom_Out, SIGNAL(triggered(bool)), this, SLOT(zoomOut()));
}

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

QString MainWindow::encode(const QString &input) const {
QString output;

for (const QChar &c : input) {
for (const QChar &c: input) {
if (lookUpTable1.contains(c.toUpper())) {
output += lookUpTable1.value(c.toUpper());
}
Expand All @@ -35,7 +30,7 @@ QString MainWindow::encode(const QString &input) const {
QString MainWindow::decode(const QString &input) const {
QString output;

for (const QString &token : input.split(' ')) {
for (const QString &token: input.split(' ')) {
if (lookUpTable2.contains(token)) {
output += lookUpTable2.value(token);
}
Expand Down
246 changes: 119 additions & 127 deletions mainwindow.h
Original file line number Diff line number Diff line change
@@ -1,24 +1,17 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#pragma once

#include "ui_mainwindow.h"

#include <QChar>
#include <QMainWindow>
#include <QMap>
#include <QString>

QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
class MainWindow : public QMainWindow {
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow() override;

private slots:
void translate();
Expand All @@ -31,122 +24,121 @@ private slots:
[[nodiscard]] QString encode(const QString &input) const;
[[nodiscard]] QString decode(const QString &input) const;

const QMap<QChar, QString> lookUpTable1 {
{ 'A', ".-" },
{ 'B', "-..." },
{ 'C', "-.-." },
{ 'D', "-.." },
{ 'E', "." },
{ 'F', "..-." },
{ 'G', "--." },
{ 'H', "...." },
{ 'I', ".." },
{ 'J', ".---" },
{ 'K', "-.-" },
{ 'L', ".-.." },
{ 'M', "--" },
{ 'N', "-." },
{ 'O', "---" },
{ 'P', ".--." },
{ 'Q', "--.-" },
{ 'R', ".-." },
{ 'S', "..." },
{ 'T', "-" },
{ 'U', "..-" },
{ 'V', "...-" },
{ 'W', ".--" },
{ 'X', "-..-" },
{ 'Y', "-.--" },
{ 'Z', "--.." },
{ '0', "-----" },
{ '1', ".----" },
{ '2', "..---" },
{ '3', "...--" },
{ '4', "....-" },
{ '5', "....." },
{ '6', "-...." },
{ '7', "--..." },
{ '8', "---.." },
{ '9', "----." },
{ ' ', "/" },
{ ',', "--..--" },
{ '.', ".-.-.-" },
{ '?', "..--.." },
{ '\'', ".----." },
{ '!', "-.-.--" },
{ '/', "-..-." },
{ '(', "-.--." },
{ ')', "-.--.-" },
{ '&', ".-..." },
{ ':', "---..." },
{ ';', "-.-.-." },
{ '=', "-...-" },
{ '+', ".-.-." },
{ '-', "-....-" },
{ '_', "..--.-" },
{ '"', ".-..-." },
{ '$', "...-..-" },
{ '@', ".--.-." },
};
const QMap<QChar, QString> lookUpTable1{
{'A', ".-"},
{'B', "-..."},
{'C', "-.-."},
{'D', "-.."},
{'E', "."},
{'F', "..-."},
{'G', "--."},
{'H', "...."},
{'I', ".."},
{'J', ".---"},
{'K', "-.-"},
{'L', ".-.."},
{'M', "--"},
{'N', "-."},
{'O', "---"},
{'P', ".--."},
{'Q', "--.-"},
{'R', ".-."},
{'S', "..."},
{'T', "-"},
{'U', "..-"},
{'V', "...-"},
{'W', ".--"},
{'X', "-..-"},
{'Y', "-.--"},
{'Z', "--.."},
{'0', "-----"},
{'1', ".----"},
{'2', "..---"},
{'3', "...--"},
{'4', "....-"},
{'5', "....."},
{'6', "-...."},
{'7', "--..."},
{'8', "---.."},
{'9', "----."},
{' ', "/"},
{',', "--..--"},
{'.', ".-.-.-"},
{'?', "..--.."},
{'\'', ".----."},
{'!', "-.-.--"},
{'/', "-..-."},
{'(', "-.--."},
{')', "-.--.-"},
{'&', ".-..."},
{':', "---..."},
{';', "-.-.-."},
{'=', "-...-"},
{'+', ".-.-."},
{'-', "-....-"},
{'_', "..--.-"},
{'"', ".-..-."},
{'$', "...-..-"},
{'@', ".--.-."},
};

const QMap<QString, QChar> lookUpTable2 {
{ ".-", 'A' },
{ "-...", 'B' },
{ "-.-.", 'C' },
{ "-..", 'D' },
{ ".", 'E' },
{ "..-.", 'F' },
{ "--.", 'G' },
{ "....", 'H' },
{ "..", 'I' },
{ ".---", 'J' },
{ "-.-", 'K' },
{ ".-..", 'L' },
{ "--", 'M' },
{ "-.", 'N' },
{ "---", 'O' },
{ ".--.", 'P' },
{ "--.-", 'Q' },
{ ".-.", 'R' },
{ "...", 'S' },
{ "-", 'T' },
{ "..-", 'U' },
{ "...-", 'V' },
{ ".--", 'W' },
{ "-..-", 'X' },
{ "-.--", 'Y' },
{ "--..", 'Z' },
{ "-----", '0' },
{ ".----", '1' },
{ "..---", '2' },
{ "...--", '3' },
{ "....-", '4' },
{ ".....", '5' },
{ "-....", '6' },
{ "--...", '7' },
{ "---..", '8' },
{ "----.", '9' },
{ "/", ' ' },
{ "--..--", ',' },
{ ".-.-.-", '.' },
{ "..--..", '?' },
{ ".----.", '\'' },
{ "-.-.--", '!' },
{ "-..-.", '/' },
{ "-.--.", '(' },
{ "-.--.-", ')' },
{ ".-...", '&' },
{ "---...", ':' },
{ "-.-.-.", ';' },
{ "-...-", '=' },
{ ".-.-.", '+' },
{ "-....-", '-' },
{ "..--.-", '_' },
{ ".-..-.", '"' },
{ "...-..-", '$' },
{ ".--.-.", '@' },
};
const QMap<QString, QChar> lookUpTable2{
{".-", 'A'},
{"-...", 'B'},
{"-.-.", 'C'},
{"-..", 'D'},
{".", 'E'},
{"..-.", 'F'},
{"--.", 'G'},
{"....", 'H'},
{"..", 'I'},
{".---", 'J'},
{"-.-", 'K'},
{".-..", 'L'},
{"--", 'M'},
{"-.", 'N'},
{"---", 'O'},
{".--.", 'P'},
{"--.-", 'Q'},
{".-.", 'R'},
{"...", 'S'},
{"-", 'T'},
{"..-", 'U'},
{"...-", 'V'},
{".--", 'W'},
{"-..-", 'X'},
{"-.--", 'Y'},
{"--..", 'Z'},
{"-----", '0'},
{".----", '1'},
{"..---", '2'},
{"...--", '3'},
{"....-", '4'},
{".....", '5'},
{"-....", '6'},
{"--...", '7'},
{"---..", '8'},
{"----.", '9'},
{"/", ' '},
{"--..--", ','},
{".-.-.-", '.'},
{"..--..", '?'},
{".----.", '\''},
{"-.-.--", '!'},
{"-..-.", '/'},
{"-.--.", '('},
{"-.--.-", ')'},
{".-...", '&'},
{"---...", ':'},
{"-.-.-.", ';'},
{"-...-", '='},
{".-.-.", '+'},
{"-....-", '-'},
{"..--.-", '_'},
{".-..-.", '"'},
{"...-..-", '$'},
{".--.-.", '@'},
};

Ui::MainWindow *ui;
std::shared_ptr<Ui::MainWindow> ui = std::make_shared<Ui::MainWindow>();
};
#endif // MAINWINDOW_H

0 comments on commit d44c06d

Please sign in to comment.