summaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/ca/candle/658.patch
blob: 2163b1a900bcc18e4d4d33995c46664549aee592 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
From 43eb409b4854eab40fe627fa8266946a64508083 Mon Sep 17 00:00:00 2001
From: Keith Packard <keithp@keithp.com>
Date: Mon, 9 Jun 2025 16:19:21 -0700
Subject: [PATCH 1/3] Let Qt pick how to store settings

Apply target-specific Qt code about how to store application
preference values by specifying the organization and application name
rather than a file name

Signed-off-by: Keith Packard <keithp@keithp.com>
---
 src/frmmain.cpp | 9 +++++----
 src/frmmain.h   | 3 ++-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/frmmain.cpp b/src/frmmain.cpp
index cab86028..52602d8f 100644
--- a/src/frmmain.cpp
+++ b/src/frmmain.cpp
@@ -85,7 +85,8 @@ frmMain::frmMain(QWidget *parent) :
                        << "black";
 
     // Loading settings
-    m_settingsFileName = qApp->applicationDirPath() + "/settings.ini";
+    m_settingsOrg = "Candle";
+    m_settingsApp = "candle";
     preloadSettings();
 
     m_settings = new frmSettings(this);
@@ -315,7 +316,7 @@ double frmMain::toolZPosition()
 
 void frmMain::preloadSettings()
 {
-    QSettings set(m_settingsFileName, QSettings::IniFormat);
+    QSettings set(m_settingsOrg, m_settingsApp);
     set.setIniCodec("UTF-8");
 
     qApp->setStyleSheet(QString(qApp->styleSheet()).replace(QRegExp("font-size:\\s*\\d+"), "font-size: " + set.value("fontSize", "8").toString()));
@@ -328,7 +329,7 @@ void frmMain::preloadSettings()
 
 void frmMain::loadSettings()
 {
-    QSettings set(m_settingsFileName, QSettings::IniFormat);
+    QSettings set(m_settingsOrg, m_settingsApp);
     set.setIniCodec("UTF-8");
 
     m_settingsLoading = true;
@@ -482,7 +483,7 @@ void frmMain::loadSettings()
 
 void frmMain::saveSettings()
 {
-    QSettings set(m_settingsFileName, QSettings::IniFormat);
+    QSettings set(m_settingsOrg, m_settingsApp);
     set.setIniCodec("UTF-8");
 
     set.setValue("port", m_settings->port());
diff --git a/src/frmmain.h b/src/frmmain.h
index c1f0ef94..b18d4bbb 100644
--- a/src/frmmain.h
+++ b/src/frmmain.h
@@ -236,7 +236,8 @@ private slots:
     frmSettings *m_settings;
     frmAbout m_frmAbout;
 
-    QString m_settingsFileName;
+    QString m_settingsOrg;
+    QString m_settingsApp;
     QString m_programFileName;
     QString m_heightMapFileName;
     QString m_lastFolder;

From 7e5e6405d87fe238300b7f632e06053d8f6c7329 Mon Sep 17 00:00:00 2001
From: Keith Packard <keithp@keithp.com>
Date: Mon, 9 Jun 2025 16:20:23 -0700
Subject: [PATCH 2/3] Apply default settings on first run

If there are no application settings available, then
apply the default values.

Signed-off-by: Keith Packard <keithp@keithp.com>
---
 src/frmmain.cpp     |  8 ++++++++
 src/frmsettings.cpp | 13 +++++++++----
 src/frmsettings.h   |  1 +
 3 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/src/frmmain.cpp b/src/frmmain.cpp
index 52602d8f..3714253a 100644
--- a/src/frmmain.cpp
+++ b/src/frmmain.cpp
@@ -479,6 +479,13 @@ void frmMain::loadSettings()
     ui->cboCommand->setCurrentIndex(-1);
 
     m_settingsLoading = false;
+
+    if (!set.value("valid", false).toBool()) {
+	m_settings->setDefaults();
+	applySettings();
+	show();
+	ui->scrollArea->updateMinimumWidth();
+    }
 }
 
 void frmMain::saveSettings()
@@ -593,6 +600,7 @@ void frmMain::saveSettings()
 
     for (int i = 0; i < ui->cboCommand->count(); i++) list.append(ui->cboCommand->itemText(i));
     set.setValue("recentCommands", list);
+    set.setValue("valid", true);
 }
 
 bool frmMain::saveChanges(bool heightMapMode)
diff --git a/src/frmsettings.cpp b/src/frmsettings.cpp
index cdc87371..988965f6 100644
--- a/src/frmsettings.cpp
+++ b/src/frmsettings.cpp
@@ -621,11 +621,8 @@ void frmSettings::on_cboToolType_currentIndexChanged(int index)
     ui->txtToolAngle->setEnabled(index == 1);
 }
 
-void frmSettings::on_cmdDefaults_clicked()
+void frmSettings::setDefaults()
 {
-    if (QMessageBox::warning(this, qApp->applicationDisplayName(), tr("Reset settings to default values?"),
-                             QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel) != QMessageBox::Yes) return;
-
     setPort("");
     setBaud(115200);
 
@@ -688,6 +685,14 @@ void frmSettings::on_cmdDefaults_clicked()
     setFontSize(9);
 }
 
+void frmSettings::on_cmdDefaults_clicked()
+{
+    if (QMessageBox::warning(this, qApp->applicationDisplayName(), tr("Reset settings to default values?"),
+                             QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel) != QMessageBox::Yes) return;
+
+    setDefaults();
+}
+
 void frmSettings::on_cboFontSize_currentTextChanged(const QString &arg1)
 {
     qApp->setStyleSheet(QString(qApp->styleSheet()).replace(QRegExp("font-size:\\s*\\d+"), "font-size: " + arg1));
diff --git a/src/frmsettings.h b/src/frmsettings.h
index fc44eb81..b6f2bf0f 100644
--- a/src/frmsettings.h
+++ b/src/frmsettings.h
@@ -117,6 +117,7 @@ class frmSettings : public QDialog
     void setIgnoreErrors(bool value);
     bool autoLine();
     void setAutoLine(bool value);
+    void setDefaults();
 
 protected:
     void showEvent(QShowEvent *se);

From 4ea46db51a0578c94082e4c381dade76a7c44a2b Mon Sep 17 00:00:00 2001
From: Keith Packard <keithp@keithp.com>
Date: Mon, 9 Jun 2025 16:21:16 -0700
Subject: [PATCH 3/3] Try to load any file provided on the command line

Don't filter based upon assumptions about gcode file extensions

Signed-off-by: Keith Packard <keithp@keithp.com>
---
 src/frmmain.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/frmmain.cpp b/src/frmmain.cpp
index 3714253a..42cf901e 100644
--- a/src/frmmain.cpp
+++ b/src/frmmain.cpp
@@ -282,7 +282,7 @@ frmMain::frmMain(QWidget *parent) :
     m_timerStateQuery.start();
 
     // Handle file drop
-    if (qApp->arguments().count() > 1 && isGCodeFile(qApp->arguments().last())) {
+    if (qApp->arguments().count() > 1) {
         loadFile(qApp->arguments().last());
     }
 }