Skip to content

Commit 23ed01d

Browse files
Refactoring default path to load editor
1 parent ab7eb78 commit 23ed01d

File tree

12 files changed

+145
-129
lines changed

12 files changed

+145
-129
lines changed

src/GUI/GreetingWindow.cpp

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,25 @@
1313

1414
GreetingWindow::GreetingWindow(QWidget* parent) : QWidget(parent)
1515
{
16-
QPushButton* btnNewProject = nullptr;
17-
QPushButton* btnLoadProject = nullptr;
18-
QHBoxLayout* ltButtons = nullptr;
19-
QVBoxLayout* ltMain = nullptr;
20-
QHBoxLayout* ltSettings = nullptr;
21-
QLabel* lblLanguage = nullptr;
22-
QComboBox* cmbLangList = nullptr;
23-
QVBoxLayout* ltLanguages = nullptr;
16+
QPushButton* btnLoadFromGame = nullptr;
17+
QPushButton* btnLoadFromFile = nullptr;
18+
QHBoxLayout* ltButtons = nullptr;
19+
QVBoxLayout* ltMain = nullptr;
20+
QHBoxLayout* ltSettings = nullptr;
21+
QLabel* lblLanguage = nullptr;
22+
QComboBox* cmbLangList = nullptr;
23+
QVBoxLayout* ltLanguages = nullptr;
2424

2525
// Add "New Project" and "Load Project" buttons to the window
26-
btnNewProject = new QPushButton(tr("NEW") + '\n' + tr("PROJECT"));
27-
btnNewProject->setFixedSize(PROGRAM_CONSTANTS->START_BUTTON_SIZE);
28-
btnNewProject->setObjectName(nameof(btnNewProject));
29-
connect(btnNewProject, &QPushButton::clicked, this, [this](bool)
30-
{
31-
emit pressed(GreetingWindow::StandartButtons::NewProject);
32-
});
26+
btnLoadFromGame = new QPushButton(tr("NEW") + '\n' + tr("PROJECT"));
27+
btnLoadFromGame->setFixedSize(PROGRAM_CONSTANTS->START_BUTTON_SIZE);
28+
btnLoadFromGame->setObjectName(nameof(btnLoadFromGame));
29+
connect(btnLoadFromGame, &QPushButton::clicked, this, &GreetingWindow::btnLoadFromGame_Clicked);
3330

34-
btnLoadProject = new QPushButton(tr("LOAD") + '\n' + tr("PROJECT"));
35-
btnLoadProject->setFixedSize(PROGRAM_CONSTANTS->START_BUTTON_SIZE);
36-
btnLoadProject->setObjectName(nameof(btnLoadProject));
37-
connect(btnLoadProject, &QPushButton::clicked, this, [this](bool)
38-
{
39-
emit pressed(GreetingWindow::StandartButtons::LoadProject);
40-
});
31+
btnLoadFromFile = new QPushButton(tr("LOAD") + '\n' + tr("PROJECT"));
32+
btnLoadFromFile->setFixedSize(PROGRAM_CONSTANTS->START_BUTTON_SIZE);
33+
btnLoadFromFile->setObjectName(nameof(btnLoadFromFile));
34+
connect(btnLoadFromFile, &QPushButton::clicked, this, &GreetingWindow::btnLoadFromFile_Clicked);
4135

4236
lblLanguage = new QLabel(tr("LANGUAGE"));
4337
lblLanguage->setObjectName(nameof(lblLanguage));
@@ -71,8 +65,8 @@ GreetingWindow::GreetingWindow(QWidget* parent) : QWidget(parent)
7165
ltButtons = new QHBoxLayout();
7266
ltButtons->setSpacing(50);
7367
ltButtons->setAlignment(Qt::AlignTop);
74-
ltButtons->addWidget(btnNewProject);
75-
ltButtons->addWidget(btnLoadProject);
68+
ltButtons->addWidget(btnLoadFromGame);
69+
ltButtons->addWidget(btnLoadFromFile);
7670
ltButtons->setSpacing(30);
7771

7872
ltMain = new QVBoxLayout();

src/GUI/GreetingWindow.hpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,14 @@
55
class GreetingWindow : public QWidget
66
{
77
Q_OBJECT
8-
public: // Data
9-
enum class StandartButtons
10-
{
11-
NewProject,
12-
LoadProject
13-
};
14-
158
public: // Methods
169
GreetingWindow(QWidget* parent = nullptr);
1710
private:
1811
int GetGreetingTextAverageSize(const QString& text) const;
1912

2013
signals:
21-
void pressed(GreetingWindow::StandartButtons standartButton);
14+
void btnLoadFromFile_Clicked();
15+
void btnLoadFromGame_Clicked();
2216
void languageChanged(int index);
2317
void btnSettings_Clicked();
2418
};

src/GUI/HotkeysMainWindow.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
#include "WindowManager.hpp"
1919
#include "HotkeysMainWindow.hpp"
2020

21-
HotkeysMainWindow::HotkeysMainWindow(const QVariant& configuration, QWidget* parent)
21+
HotkeysMainWindow::HotkeysMainWindow(QWidget* parent)
2222
: QMainWindow(parent)
2323
, pFactionsButtonsGroup{new QButtonGroup{this}}
2424
, pEntitiesTreeWidget{new QTreeWidget}

src/GUI/HotkeysMainWindow.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class HotkeysMainWindow final : public QMainWindow
3434
QVector<QSet<ActionHotkeyWidget*>> vHotkeyWidgets;
3535

3636
public: // Methods
37-
HotkeysMainWindow(const QVariant& configuration, QWidget* parent = nullptr);
37+
HotkeysMainWindow(QWidget* parent = nullptr);
3838

3939
private:
4040
/// @brief Read data from TechTree.json and parse it to game objects.

src/GUI/LoadFromTheFileWindow.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,20 @@ LoadFromTheFileWindow::LoadFromTheFileWindow(QWidget* parent) : QWidget(parent)
3030
connect(btnCancel, &QPushButton::clicked, this, [=, this] { emit btnBackClicked(); });
3131

3232
// configure file path selection
33-
QLineEdit* pathToFileLineEdit = new QLineEdit();
34-
pathToFileLineEdit->setMaximumWidth(700);
33+
QLineEdit* lneFilePath = new QLineEdit();
34+
lneFilePath->setObjectName(nameof(lneFilePath));
35+
lneFilePath->setMaximumWidth(700);
3536

36-
QFont font(pathToFileLineEdit->font());
37+
QFont font(lneFilePath->font());
3738
font.setPointSize(font.pointSize()-2); // reduce standart font size
38-
pathToFileLineEdit->setFont(font);
39+
lneFilePath->setFont(font);
3940

4041
QFileDialog* fileDialog = new QFileDialog(); // dialog for selecting the path to the file
4142
fileDialog->setFileMode(QFileDialog::FileMode::ExistingFile);
4243
fileDialog->setAcceptMode(QFileDialog::AcceptMode::AcceptOpen);
43-
fileDialog->setNameFilters({tr("Text files") + "(*.txt)",
44-
tr("Any files") + "(*)"});
45-
connect(fileDialog, &QFileDialog::fileSelected, pathToFileLineEdit, &QLineEdit::setText);
44+
fileDialog->setNameFilters({tr("Binary files") + " (*.csf)",
45+
tr("Any files") + " (*)"});
46+
connect(fileDialog, &QFileDialog::fileSelected, lneFilePath, &QLineEdit::setText);
4647

4748
// review button
4849
QPushButton* btnReview = new QPushButton(tr("REVIEW"));
@@ -56,15 +57,15 @@ LoadFromTheFileWindow::LoadFromTheFileWindow(QWidget* parent) : QWidget(parent)
5657
rdxLoadFromFile->setObjectName(nameof(rdxLoadFromFile));
5758
connect(rdxLoadFromFile, &QPushButton::toggled, this, [=, this](bool checked)
5859
{
59-
pathToFileLineEdit->setEnabled(checked);
60+
lneFilePath->setEnabled(checked);
6061
btnReview->setEnabled(checked);
6162
});
6263

6364
QRadioButton* rdxLoadFromGame = new QRadioButton(tr("Load installed game hotkey map"));
6465
rdxLoadFromGame->setObjectName(nameof(rdxLoadFromGame));
6566

6667
QHBoxLayout* ltReview = new QHBoxLayout();
67-
ltReview->addWidget(pathToFileLineEdit);
68+
ltReview->addWidget(lneFilePath);
6869
ltReview->addSpacing(5);
6970
ltReview->addWidget(btnReview);
7071
ltReview->setContentsMargins(rdxLoadFromFile->sizeHint().width() -

src/GUI/SetUpWindowsWrapper.cpp

Lines changed: 53 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#include <QLineEdit>
2+
13
#include "../Logger.hpp"
24
#include "WindowManager.hpp"
35
#include "ImageManager.hpp"
@@ -19,53 +21,65 @@ SetUpWindowsWrapper::SetUpWindowsWrapper(QWidget* parent) : QStackedWidget(paren
1921

2022
void SetUpWindowsWrapper::AttachConnections()
2123
{
22-
connect(pGreetingWidget, &GreetingWindow::languageChanged,
23-
this, &SetUpWindowsWrapper::GreetingWidget_LanguageChanged);
24+
connect(pGreetingWidget, &GreetingWindow::languageChanged,
25+
this, &SetUpWindowsWrapper::GreetingWidget_LanguageChanged);
2426

25-
connect(pGreetingWidget, &GreetingWindow::pressed,
26-
this, &SetUpWindowsWrapper::BtnNewProjectOrBtnLoadProject_Clicked);
27+
connect(pGreetingWidget, &GreetingWindow::btnLoadFromFile_Clicked,
28+
this, &SetUpWindowsWrapper::BtnLoadFromFile_Clicked);
29+
30+
connect(pGreetingWidget, &GreetingWindow::btnLoadFromGame_Clicked,
31+
this, &SetUpWindowsWrapper::BtnLoadFromGame_Clicked);
2732

28-
connect(pLoadDialog, &LoadFromTheFileWindow::btnBackClicked,
29-
this, &SetUpWindowsWrapper::BtnBack_Clicked);
33+
connect(pLoadFromTheFileWindow, &LoadFromTheFileWindow::btnBackClicked,
34+
this, &SetUpWindowsWrapper::BtnBack_Clicked);
35+
36+
connect(pLoadFromTheFileWindow, &LoadFromTheFileWindow::btnStartClicked,
37+
this, &SetUpWindowsWrapper::LoadFromTheFileWindow_AcceptConfiguration);
3038

31-
connect(pCreationDialog, &LoadFromTheGameWindow::btnBackClicked,
32-
this, &SetUpWindowsWrapper::BtnBack_Clicked);
39+
connect(pLoadFromTheGameWindow, &LoadFromTheGameWindow::btnBackClicked,
40+
this, &SetUpWindowsWrapper::BtnBack_Clicked);
3341

34-
connect(pCreationDialog, &LoadFromTheGameWindow::btnStartClicked,
35-
this, &SetUpWindowsWrapper::CreationDialog_AcceptConfiguration);
42+
// connect(pLoadFromTheGameWindow, &LoadFromTheGameWindow::btnStartClicked,
43+
// this, &SetUpWindowsWrapper::LoadFromTheGameWindow_AcceptConfiguration);
3644
}
3745

3846
void SetUpWindowsWrapper::DetachConnections()
3947
{
40-
disconnect(pGreetingWidget, &GreetingWindow::languageChanged,
41-
this, &SetUpWindowsWrapper::GreetingWidget_LanguageChanged);
42-
43-
disconnect(pGreetingWidget, &GreetingWindow::pressed,
44-
this, &SetUpWindowsWrapper::BtnNewProjectOrBtnLoadProject_Clicked);
48+
disconnect(pGreetingWidget, &GreetingWindow::languageChanged,
49+
this, &SetUpWindowsWrapper::GreetingWidget_LanguageChanged);
50+
51+
disconnect(pGreetingWidget, &GreetingWindow::btnLoadFromFile_Clicked,
52+
this, &SetUpWindowsWrapper::BtnLoadFromFile_Clicked);
53+
54+
disconnect(pGreetingWidget, &GreetingWindow::btnLoadFromGame_Clicked,
55+
this, &SetUpWindowsWrapper::BtnLoadFromGame_Clicked);
4556

46-
disconnect(pLoadDialog, &LoadFromTheFileWindow::btnBackClicked,
47-
this, &SetUpWindowsWrapper::BtnBack_Clicked);
57+
disconnect(pLoadFromTheFileWindow, &LoadFromTheFileWindow::btnBackClicked,
58+
this, &SetUpWindowsWrapper::BtnBack_Clicked);
59+
60+
disconnect(pLoadFromTheFileWindow, &LoadFromTheFileWindow::btnStartClicked,
61+
this, &SetUpWindowsWrapper::LoadFromTheFileWindow_AcceptConfiguration);
4862

49-
disconnect(pCreationDialog, &LoadFromTheGameWindow::btnBackClicked,
50-
this, &SetUpWindowsWrapper::BtnBack_Clicked);
63+
disconnect(pLoadFromTheGameWindow, &LoadFromTheGameWindow::btnBackClicked,
64+
this, &SetUpWindowsWrapper::BtnBack_Clicked);
5165

52-
disconnect(pCreationDialog, &LoadFromTheGameWindow::btnStartClicked,
53-
this, &SetUpWindowsWrapper::CreationDialog_AcceptConfiguration);
66+
// disconnect(pLoadFromTheGameWindow, &LoadFromTheGameWindow::btnStartClicked,
67+
// this, &SetUpWindowsWrapper::LoadFromTheGameWindow_AcceptConfiguration);
5468
}
5569

5670
void SetUpWindowsWrapper::AddWidgets()
5771
{
58-
pGreetingWidget = new GreetingWindow(this);
59-
pCreationDialog = new LoadFromTheGameWindow(pGreetingWidget);
60-
pLoadDialog = new LoadFromTheFileWindow(pGreetingWidget);
72+
pGreetingWidget = new GreetingWindow(this);
73+
pLoadFromTheGameWindow = new LoadFromTheGameWindow(pGreetingWidget);
74+
pLoadFromTheFileWindow = new LoadFromTheFileWindow(pGreetingWidget);
6175

6276
pGreetingWidget->setFixedSize(size());
63-
pCreationDialog->setFixedSize(size());
64-
pLoadDialog->setFixedSize(size());
77+
pLoadFromTheGameWindow->setFixedSize(size());
78+
pLoadFromTheFileWindow->setFixedSize(size());
6579

6680
addWidget(pGreetingWidget);
67-
addWidget(pCreationDialog);
68-
addWidget(pLoadDialog);
81+
addWidget(pLoadFromTheGameWindow);
82+
addWidget(pLoadFromTheFileWindow);
6983
}
7084

7185
void SetUpWindowsWrapper::GreetingWidget_LanguageChanged(int intLngIndex)
@@ -76,30 +90,23 @@ void SetUpWindowsWrapper::GreetingWidget_LanguageChanged(int intLngIndex)
7690

7791
DetachConnections();
7892
pGreetingWidget->deleteLater();
79-
pCreationDialog->deleteLater();
80-
pLoadDialog->deleteLater();
93+
pLoadFromTheGameWindow->deleteLater();
94+
pLoadFromTheFileWindow->deleteLater();
8195

8296
AddWidgets();
8397
AttachConnections();
8498
setCurrentWidget(pGreetingWidget);
8599
}
86100

87-
void SetUpWindowsWrapper::BtnNewProjectOrBtnLoadProject_Clicked(GreetingWindow::StandartButtons standartButton)
101+
void SetUpWindowsWrapper::LoadFromTheFileWindow_AcceptConfiguration()
88102
{
89-
switch (standartButton)
90-
{
91-
case GreetingWindow::StandartButtons::NewProject:
92-
setCurrentWidget(pCreationDialog);
93-
break;
94-
case GreetingWindow::StandartButtons::LoadProject:
95-
setCurrentWidget(pLoadDialog);
96-
break;
97-
default:
98-
setCurrentWidget(pCreationDialog);
99-
break;
100-
}
103+
QString objName = "lneFilePath";
104+
QString txt = pLoadFromTheFileWindow->findChild<QLineEdit*>("lneFilePath", Qt::FindChildrenRecursively)->text();
105+
WINDOW_MANAGER->SetCSFFilePath(txt);
106+
WINDOW_MANAGER->LaunchWidget_AcceptConfiguration();
101107
}
102108

103-
void SetUpWindowsWrapper::BtnBack_Clicked() { setCurrentWidget(pGreetingWidget); }
104-
105-
void SetUpWindowsWrapper::CreationDialog_AcceptConfiguration() { QVariant cfg; WINDOW_MANAGER->LaunchWidget_AcceptConfiguration(cfg); }
109+
void SetUpWindowsWrapper::BtnLoadFromFile_Clicked() { setCurrentWidget(pLoadFromTheFileWindow); }
110+
void SetUpWindowsWrapper::BtnLoadFromGame_Clicked() { setCurrentWidget(pLoadFromTheGameWindow); }
111+
void SetUpWindowsWrapper::BtnBack_Clicked() { WINDOW_MANAGER->SetCSFFilePath(""); setCurrentWidget(pGreetingWidget); }
112+
void SetUpWindowsWrapper::LoadFromTheGameWindow_AcceptConfiguration() { WINDOW_MANAGER->LaunchWidget_AcceptConfiguration(); }

src/GUI/SetUpWindowsWrapper.hpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ class SetUpWindowsWrapper final : public QStackedWidget
99
Q_OBJECT
1010
private: // Data
1111
GreetingWindow* pGreetingWidget = nullptr;
12-
LoadFromTheGameWindow* pCreationDialog = nullptr;
13-
LoadFromTheFileWindow* pLoadDialog = nullptr;
12+
LoadFromTheGameWindow* pLoadFromTheGameWindow = nullptr;
13+
LoadFromTheFileWindow* pLoadFromTheFileWindow = nullptr;
1414

1515
private: // Methods
1616
/// @brief Connects slots and singals.
@@ -29,8 +29,12 @@ private slots:
2929
void BtnBack_Clicked();
3030
/// @brief Change language by its index if language has been changed via select list.
3131
void GreetingWidget_LanguageChanged(int intLngIndex);
32-
/// @brief Open create/loader widget if start button has been clicked.
33-
void BtnNewProjectOrBtnLoadProject_Clicked(GreetingWindow::StandartButtons standartButton);
32+
/// @brief Show window to load hotkeys information from .csf file.
33+
void BtnLoadFromFile_Clicked();
34+
/// @brief Show window to load hotkeys information from the game.
35+
void BtnLoadFromGame_Clicked();
3436
/// @brief Returns checked configuration of user preferences.
35-
void CreationDialog_AcceptConfiguration();
37+
void LoadFromTheFileWindow_AcceptConfiguration();
38+
/// @brief Returns checked configuration of user preferences.
39+
void LoadFromTheGameWindow_AcceptConfiguration();
3640
};

0 commit comments

Comments
 (0)