mrdialog 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 071dc52f5772237e093be82215d7aa7faaced1ffdc3899c968712fb03522cddb
4
- data.tar.gz: 92d8a468387d820e26df5915fbfb540fd8545ea616feb1fb261c8caa6f91207d
3
+ metadata.gz: dc47a088312c9388ffd5a9e244e8671cf1cbe64bdd426654d96a8ba8acce2802
4
+ data.tar.gz: 69bcc7ab22b75d3fd95235f7306765040501ef889d8fbcedc1a6f2da2f2b47a3
5
5
  SHA512:
6
- metadata.gz: 3256eac212b5f413a2f61fea246679657a89cf78c8fe01d880a705b0ef3c9d0628d044059de2554bafa05a441b8774911119837734d6620b3917b36176294686
7
- data.tar.gz: d991bcddd1529d359bbc3c119ab09928834805eb78eb6101b598fcfd030bedcdbdee8aab9f1cccce10449369c75dd4763033e5a29dcca93004d8ae077dd5b90a
6
+ metadata.gz: 9f79425d6e6aba5eca88f8e3e9d53309b969562b4f25a4460f0fa667bd88256d85d9bd5b47abd58f7bd316bed068c0abbd7cbe01e43d6e2f52e2f9399676f554
7
+ data.tar.gz: b9c548304b94be40b060f9677e4f1687ec4741b8d48b58b74cb843dd846f33131679bfe31fd18c308b2eefa3f5a92f363f5dc224ce485856c573975f3588b1e9
data/ChangeLog.md CHANGED
@@ -1,3 +1,34 @@
1
+ ## Table Of Contents
2
+ - [1.0.7](#107)
3
+ - [1.0.6](#106)
4
+ - [1.0.5](#105)
5
+ - [1.0.4](#104)
6
+ - [1.0.3](#103)
7
+ - [1.0.2](#102)
8
+ - [1.0.1](#101)
9
+ - [bug fixes](#bug-fixes)
10
+ - [0.5.0](#050)
11
+
12
+ ## 1.0.7
13
+ * If any text had single quote in it e.g. "don't", "It's", the dialog
14
+ command was failing with syntax error. In previsous version, the dialog
15
+ command was wrapped with single quotes but now shell escape the values.
16
+ Note: this is a parsing bug fix, not a security issue. Thanks to Carl for
17
+ finding this bug.
18
+
19
+ (Oct-18-2025)
20
+
21
+ * If no item was selected in a checklist, an EOF exception was thrown. Now
22
+ return false in that case.
23
+
24
+ * Update checklist example to get selected item in an array. Before the items
25
+ were in an array with 1 element.
26
+
27
+ (Jan-23-2024)
28
+
29
+ ## 1.0.6
30
+ * Ruby 3.2.0 removed File.exists? method. Change to File.exist?
31
+
1
32
  ## 1.0.5
2
33
  * Wrap values inside single quotes indead of double quotes. If saved values
3
34
  are reloaded in a form, special shell characters could get expanded and
@@ -98,7 +129,7 @@ Note: The examples use Struct class, making the examples clean and
98
129
  easy to understand.
99
130
 
100
131
 
101
- # bug fixes:
132
+ ## bug fixes
102
133
 
103
134
  * raise exception if 'dialog' program is not found.
104
135
  * title in the option string was not quoted
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
@@ -7,9 +7,9 @@ source "http://rubygems.org"
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
9
  gem "shoulda", ">= 0"
10
- gem "rdoc", "~> 3.12"
11
- gem "bundler", ">= 2.0"
12
- gem "juwelier", "~> 2.1.0"
10
+ gem "rdoc", "~> 6.1.2.1"
11
+ gem "bundler", "~> 2.1.0"
12
+ gem "juwelier", ">= 2.4.9"
13
13
  gem "simplecov", ">= 0"
14
14
  gem "test-unit"
15
15
  end
data/LICENSE.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  Copyright (c) Aleks Clarks, http://rdialog.rubyforge.org/
2
- Copyright (c) 2016-2022, Muhammad Muquit, https://www.muquit.com/
2
+ Copyright (c) 2016-2025, Muhammad Muquit, https://www.muquit.com/
3
3
 
4
4
  Permission is hereby granted, free of charge, to any person obtaining
5
5
  a copy of this software and associated documentation files (the
data/Makefile ADDED
@@ -0,0 +1,29 @@
1
+ # Created Oct-18-2025
2
+ VERSION := $(shell cat VERSION)
3
+
4
+ all: build doc
5
+
6
+ build:
7
+ rm -rf pkg/*
8
+ rake clean
9
+ rake gemspec
10
+ rake build
11
+ cd pkg && sha256sum mrdialog-$(VERSION).gem > sha256sum.txt
12
+ /bin/ls -lt ./pkg
13
+
14
+ # https://github.com/muquit/markdown-toc-go
15
+ doc:
16
+ markdown-toc-go -i docs/README.md -o README.md -f
17
+ markdown-toc-go -i docs/ChangeLog.md -o ChangeLog.md -f -no-credit
18
+
19
+ release: build
20
+ gem push pkg/mrdialog-$(VERSION).gem
21
+
22
+ install: build
23
+ gem install --local pkg/mrdialog-$(VERSION).gem
24
+
25
+ test-install: build
26
+ gem install --local pkg/mrdialog-$(VERSION).gem
27
+ ruby -e "require 'mrdialog'; puts 'mrdialog $(VERSION) installed successfully!'"
28
+
29
+ .PHONY: all build doc release install test-install
data/Notes.txt ADDED
@@ -0,0 +1,24 @@
1
+ Notes for myself
2
+
3
+ * Update VERSION if needed
4
+
5
+ * If anything changed, build the gem by running
6
+ rake clean
7
+ rake gemspec
8
+ rake build
9
+ cd pkg
10
+
11
+ * To look at the content of the local gem, run
12
+ gem unpack file.gem
13
+ * remove old version
14
+ * git add <new version>
15
+ * update md5.txt
16
+ * commit
17
+ * push
18
+
19
+ * To publish to rubygems.org
20
+ gem push mrdialog-1.0.6.gem
21
+ Pushing gem to https://rubygems.org...
22
+ You have enabled multi-factor authentication. Please enter OTP code.
23
+ Code: XXXXXX
24
+ Successfully registered gem: mrdialog (1.0.7)
data/README.md CHANGED
@@ -1,13 +1,52 @@
1
- ### MRDialog
2
-
3
- mrdialog is a pure
1
+ ## Table Of Contents
2
+ - [Introduction](#introduction)
3
+ - [Latest Version (1.0.7 - Oct-19-2025)](#latest-version-107-oct-19-2025)
4
+ - [To install](#to-install)
5
+ - [To uninstall](#to-uninstall)
6
+ - [Screenshots](#screenshots)
7
+ - [Requirements](#requirements)
8
+ - [Run the sample apps](#run-the-sample-apps)
9
+ - [How to use the API](#how-to-use-the-api)
10
+ - [Properties](#properties)
11
+ - [Widgets](#widgets)
12
+ - [buildlist](#buildlist)
13
+ - [calendar](#calendar)
14
+ - [checklist](#checklist)
15
+ - [editbox](#editbox)
16
+ - [form](#form)
17
+ - [fselect](#fselect)
18
+ - [gauge](#gauge)
19
+ - [infobox](#infobox)
20
+ - [textbox](#textbox)
21
+ - [inputbox](#inputbox)
22
+ - [menu](#menu)
23
+ - [msgbox](#msgbox)
24
+ - [passwordbox](#passwordbox)
25
+ - [passwordform](#passwordform)
26
+ - [pause](#pause)
27
+ - [prgbox](#prgbox)
28
+ - [progressbox](#progressbox)
29
+ - [programbox](#programbox)
30
+ - [radiolist](#radiolist)
31
+ - [timebox](#timebox)
32
+ - [treeview](#treeview)
33
+ - [yesno](#yesno)
34
+ - [Dependencies](#dependencies)
35
+ - [For Developers](#for-developers)
36
+ - [License](#license)
37
+
38
+ ## Introduction
39
+
40
+ `mrdialog` is a pure
4
41
  [ruby](https://www.ruby-lang.org/) library for the ncurses
5
42
  [dialog](http://invisible-island.net/dialog/dialog.html) program.
6
43
  [dialog](http://invisible-island.net/dialog/dialog.html) is
7
44
  a command line tool that can present questions, messages, forms using
8
- dialog boxes from a shell script. If you compiled linux kernel and typed 'make
9
- menuconfig', configured Linux from command line with various configuration
10
- managers, you have used 'dialog' like programs.
45
+ dialog boxes from a shell script on terminal. If you compiled linux kernel and typed
46
+ `make menuconfig`, configured Linux from command line with various
47
+ configuration managers, you have used 'dialog' like programs. Please
48
+ have a lookt at the [screenshots](screenshots/) on the dialogs look
49
+ like.
11
50
 
12
51
  However, it is painful to program dialog from shell scripts due to lack of
13
52
  data structure. You constantly have to watch if the correct number of
@@ -17,7 +56,7 @@ a lot of fun to program dialog from an object oriented scripting language like
17
56
  the sample ruby scripts of mrdialog in the [samples](samples/) directory, I think you will agree. Look at [samples/extra_button/](samples/extra_button/) directory for samples on using an extra button on various input dialogs.
18
57
 
19
58
  MRDialog is based on the rdialog ruby gem http://rdialog.rubyforge.org/ by
20
- Aleks Clark.
59
+ Aleks Clark (Does not seem to exist anymore).
21
60
 
22
61
  I did the following:
23
62
 
@@ -27,57 +66,73 @@ I did the following:
27
66
 
28
67
  If you have bug reports, questions, requests or suggestions, please enter it in the [Issues](https://github.com/muquit/mrdialog/issues) with an appropriate label.
29
68
 
30
- ### Latest Version
69
+ ## Latest Version (1.0.7 - Oct-19-2025)
31
70
 
32
- The latest version is 1.0.4.
33
- Please look at the [ChangeLog.md](ChangeLog.md) file for details. Please look at he [screenshots](screenshots/) to see how the widgets look like.
71
+ The latest version is 1.0.7
34
72
 
35
- ### Screenshots
73
+ **Important fix in 1.0.7**: Fixed a parsing bug where dialog commands
74
+ would fail if any text contained apostrophes (single quotes). All special
75
+ characters in user input are now properly handled.
36
76
 
37
- Please look at the [screenshots](screenshots/) directory. There are individual screenshots for each of the widgets. Also the animated GIF file [all.gif](screenshots/all.gif) contains screenshot of all the widgets.
77
+ Please look at the [ChangeLog.md](ChangeLog.md) file for details. Please look at the [screenshots](screenshots/) to see how the widgets look like.
38
78
 
39
- ### Requirements
79
+ ## To install
40
80
 
41
- The [dialog](http://invisible-island.net/dialog/dialog.html) program must be installed. Note: the dialog program that is available in ubuntu is little old. Check the dialog version by typing `dialog --version`
81
+ ```bash
82
+ gem install mrdialog
83
+ or
84
+ sudo gem install mrdialog
85
+ ```
42
86
 
43
- I tested with `dialog Version: 1.2-20130928`
87
+ ## To uninstall
44
88
 
45
- dialog HOME: http://invisible-island.net/dialog/dialog.html.
89
+ ```bash
90
+ gem uninstall mrdialog
91
+ or
92
+ sudo gem uninstall mrdialog
93
+ ```
46
94
 
47
- ### To install
48
95
 
49
- `# gem install mrdialog`
50
- or
51
- `$ sudo gem install mrdialog`
96
+ ## Screenshots
52
97
 
53
- ### To uninstall
98
+ Please look at the [screenshots](screenshots/) directory. There are individual screenshots for each of the widgets. Also the animated GIF file [all.gif](screenshots/all.gif) contains screenshot of all the widgets.
54
99
 
55
- `# gem uninstall mrdialog` or `$ sudo gem uninstall mrdialog`
100
+ ## Requirements
56
101
 
57
- ### Run the sample apps
102
+ The [dialog](http://invisible-island.net/dialog/dialog.html) program must be installed. Note: the dialog program that is available in ubuntu is little old. Check the dialog version by typing `dialog --version`
103
+
104
+ I tested with `Version: 1.3-20250116`
105
+
106
+ dialog HOME: http://invisible-island.net/dialog/dialog.html.
107
+
108
+
109
+ ## Run the sample apps
58
110
 
59
111
  Find out where the mrdialog gem is installed. Example:
112
+ ```bash
113
+ gem which mrdialog
114
+ /Users/muquit/.rvm/gems/ruby-3.2.2/gems/mrdialog-1.0.7/lib/mrdialog.rb
115
+ ```
60
116
 
61
- $ gem which mrdialog
62
- /Users/muquit/.rvm/gems/ruby-3.0.0/gems/mrdialog-1.0.4/lib/mrdialog.rb
63
117
 
64
118
  `cd` to the `samples` directory and run the apps.
65
119
  Example:
66
-
67
- $ cd /Users/muquit/.rvm/gems/ruby-3.0.0/gems/mrdialog-1.0.4/samples
68
- $ ./msgbox.rb
120
+ ```bash
121
+ cd /Users/muquit/.rvm/gems/ruby-3.2.2/gems/mrdialog-1.0.7/samples
122
+ ./msgbox.rb
123
+ ```
69
124
 
70
125
  Look at samples/extra_button/ on how to use an extra button on various input
71
126
  dialogs.
72
127
 
73
- ### How to use the API
128
+ ## How to use the API
74
129
 
75
130
  For now, please look at the apps in [samples](samples/) directory to see how the API works.
76
131
 
77
132
  require 'mrdialog'
78
133
  dialog = MRDialog.new
79
134
 
80
- #### Properties
135
+ ## Properties
81
136
 
82
137
  The various properties of the dialog (shadow, title etc.) can be set by calling the appropriate setters. The supported properties are shown below:
83
138
 
@@ -99,7 +154,7 @@ The various properties of the dialog (shadow, title etc.) can be set by calling
99
154
  | extra_label | `dialog.extra_label = "More"` | Use the specified label on the "Extra" button. | "Extra" |
100
155
  | dialog_options | `dialog.dialog_options="any valid dialog option"` e.g. `dialog.dialog_options="--no-tags"` for checklist | Pass any valid dialog option. `man dialog` and look at the **OPTIONS** section. It is the caller's responsibility to specify correct options, no validation will be done | N/A |
101
156
 
102
- #### Widgets
157
+ ## Widgets
103
158
 
104
159
  The following dialog widgets are supported:
105
160
 
@@ -111,6 +166,7 @@ The following dialog widgets are supported:
111
166
  - fselect
112
167
  - gauge
113
168
  - infobox
169
+ - textbox
114
170
  - inputbox
115
171
  - menu
116
172
  - msgbox
@@ -125,129 +181,154 @@ The following dialog widgets are supported:
125
181
  - treeview
126
182
  - yesno
127
183
 
128
- ##### buildlist
184
+ ### buildlist
129
185
 
130
186
  A buildlist dialog displays two lists, side-by-side. The list on the left shows unselected items. The list on the right shows selected items. As items are selected or unselected, they move between the lists. The SPACE bar is used to
131
187
  select or unselect an item.
132
188
 
133
- Use a carriage return or the "OK" button to accept the current value in the selected-window and exit. The results are written using the order displayed in the selected-window. The caller is responsible to create the items properly. Please look at [buildlist.rb](samples/buildlist.rb) for an example.
189
+ Use a carriage return or the "OK" button to accept the current value in the selected-window and exit. The results are written using the order displayed in the selected-window. The caller is responsible to create the items properly.
134
190
 
135
191
  returns an array of selected tags
192
+ ```bash
193
+ result_array = dialog.buildlist(text="Text Goes Here", items, height=0, width=0, listheight=0)
194
+ ```
195
+ - Please look at [buildlist.rb](samples/buildlist.rb) for an example.
136
196
 
137
- result_array = dialog.buildlist(text="Text Goes Here", items, height=0, width=0, listheight=0)
138
-
139
- #### calendar
197
+ ### calendar
140
198
 
141
- Please look at [calendar.rb](samples/calendar.rb) for an example.
199
+ - Please look at [calendar.rb](samples/calendar.rb) for an example.
142
200
 
143
- #### checklist
201
+ ### checklist
144
202
 
145
- Please look at [checklist.rb](samples/checklist.rb) for an example.
203
+ - Please look at [checklist.rb](samples/checklist.rb) for an example.
146
204
 
147
- #### editbox
205
+ ### editbox
148
206
 
149
- Please look at [editbox.rb](samples/editbox.rb) for an example.
207
+ - Please look at [editbox.rb](samples/editbox.rb) for an example.
150
208
 
151
- #### form
209
+ ### form
152
210
 
153
- Please look at
211
+ - Please look at
154
212
  [form1.rb](samples/form1.rb), [form2.rb](samples/form2.rb), [form3.rb](samples/form3.rb)
155
213
  for examples.
156
214
 
157
- #### fselect
215
+ ### fselect
158
216
 
159
- Please look at [fselect.rb](samples/fselect.rb) for an example.
217
+ - Please look at [fselect.rb](samples/fselect.rb) for an example.
160
218
 
161
- #### gauge
219
+ ### gauge
162
220
 
163
- Please look at [gauge.rb](samples/gauge.rb) for an example.
221
+ - Please look at [gauge.rb](samples/gauge.rb) for an example.
164
222
 
165
- #### infobox
223
+ ### infobox
166
224
 
167
- Please look at [infobox.rb](samples/infobox.rb) for an example.
225
+ - Please look at [infobox.rb](samples/infobox.rb) for an example.
168
226
 
169
- #### inputbox
227
+ ### textbox
228
+ - Please look at [textbox.rb](samples/textbox.rb) for an example.
170
229
 
171
- Please look at [inputbox.rb](samples/inputbox.rb) for an example.
230
+ ### inputbox
172
231
 
173
- #### menu
232
+ - Please look at [inputbox.rb](samples/inputbox.rb) for an example.
174
233
 
175
- Please look at [menubox.rb](samples/menubox.rb) for an example.
234
+ ### menu
176
235
 
177
- #### msgbox
236
+ - Please look at [menubox.rb](samples/menubox.rb) for an example.
178
237
 
179
- Please look at [msgbox.rb](samples/msgbox.rb) for an example.
238
+ ### msgbox
180
239
 
181
- #### passwordbox
240
+ - Please look at [msgbox.rb](samples/msgbox.rb) for an example.
182
241
 
183
- Please look at [password.rb](samples/password.rb), [password2.rb](samples/password2.rb)
242
+ ### passwordbox
243
+
244
+ - Please look at [password.rb](samples/password.rb), [password2.rb](samples/password2.rb)
184
245
  for examples.
185
246
 
186
- #### passwordform
247
+ ### passwordform
187
248
 
188
- Please look at [passwordform.rb](samples/passwordform.rb) for an example.
249
+ - Please look at [passwordform.rb](samples/passwordform.rb) for an example.
189
250
 
190
- #### pause
251
+ ### pause
191
252
 
192
- Please look at [pause.rb](samples/pause.rb) for an example.
253
+ - Please look at [pause.rb](samples/pause.rb) for an example.
193
254
 
194
- #### prgbox
255
+ ### prgbox
195
256
 
196
- Please look at [prgbox.rb](samples/prgbox.rb) for an example.
257
+ - Please look at [prgbox.rb](samples/prgbox.rb) for an example.
197
258
 
198
- #### progressbox
259
+ ### progressbox
199
260
 
200
- Please look at [progressbox.rb](samples/progressbox.rb) for an example.
261
+ - Please look at [progressbox.rb](samples/progressbox.rb) for an example.
201
262
 
202
- #### programbox
263
+ ### programbox
203
264
 
204
- Please look at [programbox.rb](samples/programbox.rb) for an example.
265
+ - Please look at [programbox.rb](samples/programbox.rb) for an example.
205
266
 
206
- #### radiolist
267
+ ### radiolist
207
268
 
208
- Please look at [radiolist.rb](samples/radiolist.rb) for an example.
269
+ - Please look at [radiolist.rb](samples/radiolist.rb) for an example.
209
270
 
210
- #### timebox
271
+ ### timebox
211
272
 
212
- Please look at [timebox.rb](samples/timebox.rb) for an example.
273
+ - Please look at [timebox.rb](samples/timebox.rb) for an example.
213
274
 
214
- #### treeview
275
+ ### treeview
215
276
 
216
- Please look at [treeview.rb](samples/treeview.rb) for an example.
277
+ - Please look at [treeview.rb](samples/treeview.rb) for an example.
217
278
 
218
- #### yesno
279
+ ### yesno
219
280
 
220
- Please look at [yesno.rb](samples/yesno.rb) for an example.
281
+ - Please look at [yesno.rb](samples/yesno.rb) for an example.
221
282
 
222
- ### Dependencies
283
+ ## Dependencies
223
284
 
224
285
  Mrdialog does not have dependencies on any other gems. The gems in Gemfile are
225
286
  for development for building the gem.
226
287
 
227
288
 
228
- ### For Developers
289
+ ## For Developers
229
290
 
230
- Note: Pre-built mrdialog-1.0.4.gem is in the pkg directory
291
+ Note: Pre-built `mrdialog-1.0.7.gem` is in the pkg directory
231
292
 
232
293
  If you need to build the gem yourself:
233
294
 
234
295
  Install bundler first:
235
-
236
- $ gem install bundler
237
- $ bundle install
238
-
239
- - To build: `$ rake build`
296
+ ```bash
297
+ gem install bundler
298
+ bundle install
299
+ ```
300
+
301
+ - To build:
302
+ ```bash
303
+ rake clean
304
+ rake gemspec
305
+ rake build
306
+ ```
240
307
 
241
308
  Will create the gem inside the pkg directory
242
309
 
243
- - To install the built gem: `$ sudo gem install --local pkg/mrdialog-1.0.4.gem`
310
+ - To install the built gem:
311
+ ```bash
312
+ sudo gem install --local pkg/mrdialog-1.0.7.gem
313
+ ```
244
314
 
245
- - To install using rake: `$ sudo rake install`
315
+ - To install using rake:
316
+ ```bash
317
+ sudo rake install
318
+ ```
246
319
 
247
- - To install the gem to a specific directory: `$ GEM_HOME=/tmp gem install --local pkg/mrdialog-1.0.4.gem`
320
+ - To install the gem to a specific directory:
321
+ ```bash
322
+ GEM_HOME=/tmp gem install --local pkg/mrdialog-1.0.7.gem`
323
+ ```
248
324
 
249
- The gem will be installed in /tmp/gems directory
325
+ The gem will be installed in `/tmp/gems` directory
250
326
 
251
- ### Copyright
327
+ Please see the [Makefile](Makefile) for build and release commands
328
+
329
+ ## License
252
330
 
253
331
  License is MIT. Please look at the [LICENSE.txt](LICENSE.txt) file for details.
332
+
333
+ ---
334
+ <sub>TOC is created by https://github.com/muquit/markdown-toc-go on Oct-19-2025</sub>
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.5
1
+ 1.0.7
data/docs/ChangeLog.md ADDED
@@ -0,0 +1,132 @@
1
+ ## 1.0.7
2
+ * If any text had single quote in it e.g. "don't", "It's", the dialog
3
+ command was failing with syntax error. In previsous version, the dialog
4
+ command was wrapped with single quotes but now shell escape the values.
5
+ Note: this is a parsing bug fix, not a security issue. Thanks to Carl for
6
+ finding this bug.
7
+
8
+ (Oct-18-2025)
9
+
10
+ * If no item was selected in a checklist, an EOF exception was thrown. Now
11
+ return false in that case.
12
+
13
+ * Update checklist example to get selected item in an array. Before the items
14
+ were in an array with 1 element.
15
+
16
+ (Jan-23-2024)
17
+
18
+ ## 1.0.6
19
+ * Ruby 3.2.0 removed File.exists? method. Change to File.exist?
20
+
21
+ ## 1.0.5
22
+ * Wrap values inside single quotes indead of double quotes. If saved values
23
+ are reloaded in a form, special shell characters could get expanded and
24
+ corrupt data. Please update to v1.0.5.
25
+ (Mar-15-2023)
26
+
27
+ ## 1.0.4
28
+ * Previously only the OK/Yes button read input from forms, menus and lists.
29
+ If an extra button is used, it was treated the same as the Cancel/No
30
+ button, and no output from the form/menu/list was returned to the caller.
31
+
32
+ This PR changes the various user input dialogs to treat the Extra button
33
+ the same way as the OK/Yes button, and to return the dialog's input to the
34
+ caller.
35
+
36
+ Thanks to https://github.com/OtherJohnGray for pull request.
37
+
38
+ (Jun-22-2022)
39
+
40
+
41
+ ## 1.0.3
42
+ * Added accessor `rc_file`. It specifies the DIALOGRC file to use. Default is $HOME/.dialogrc
43
+ * Added accessor `cancel_label`. It specifies the label to use for the 'Cancel' button.
44
+ * Added accessor `yes_label`. It specifies the label to use for the 'Yes' button.
45
+ * Added accessor `no_label`. It specifies the label to use for the 'No' button.
46
+ * Added accessor `help_button`. It specifies that a help button should be added to the dialog.
47
+ * Added accessor `help_label`. It specifies the label to use for the 'Help' button.
48
+ * Added accessor `extra_button`. It specifies that an extra button should be added to the dialog.
49
+ * Added accessor `extra_label`. It specifies the label to use for the 'Extra' button.
50
+ * Fully implemented @exit_code. The @exit_code variable wasn't being set on all dialog styles.
51
+
52
+ ## 1.0.2
53
+
54
+ * Added accessor `notags`. It can be used with checklist for example. The default value is false.
55
+
56
+ ```
57
+ dialog = MRDialog.new()
58
+ dialog.notags = true
59
+ ```
60
+ * Added accessor `dialog_options`. It can be used to pass any valid dialog option. `man dialog` and look at the **OPTIONS** section. It is the caller's responsibily to specify correct options, no validation will be done. Example:
61
+
62
+ ```
63
+ dialog = MRDialog.new()
64
+ dialog.dialog_options = "--no-tags"
65
+ ```
66
+ This ia exactly same as `dialog.notags = true`
67
+
68
+ (Apr-16-2016 )
69
+
70
+ ## 1.0.1
71
+
72
+ * Juwelier support for making the gem.
73
+
74
+ Implemented methods for:
75
+
76
+ * 'buildlist' (--buildlist)
77
+ * 'editbox' (--editbox)
78
+ * 'form' (--form)
79
+ * 'gauge' (--gauge). Thanks to Mike Morgan.
80
+ * 'mixedform' (--mixedform)
81
+ * 'passwordform' (--mixedform)
82
+ * 'pause' (--pasue)
83
+ * 'prgbox' (--prgbox)
84
+ * 'progressbox' (--progressbox)
85
+ * 'progambox' (--programbox)
86
+ * 'treeview' (--treeview)
87
+
88
+ * Added accessors:
89
+ "logger", "clear", "ok_label <label>", "insecure", "ascii_lines"
90
+ * Added methods to check dialog's exit code
91
+ dialog_ok, dialog_cancel, dialog_help, dialog_extra,
92
+ dialog_item_help, dialog_esc
93
+
94
+ Implemented examples for:
95
+
96
+ * buildlist
97
+ * calendar
98
+ * checklist
99
+ * editbox
100
+ * form
101
+ * fselect
102
+ * gauge
103
+ * infobox
104
+ * inputbox
105
+ * menu
106
+ * msgbox
107
+ * passwordbox
108
+ * pause
109
+ * prgbox
110
+ * progressbox
111
+ * programbox
112
+ * radiolist
113
+ * timebox
114
+ * treeview
115
+ * yesno
116
+
117
+ Note: The examples use Struct class, making the examples clean and
118
+ easy to understand.
119
+
120
+
121
+ ## bug fixes
122
+
123
+ * raise exception if 'dialog' program is not found.
124
+ * title in the option string was not quoted
125
+ * timebox syntax is different now.
126
+ etc..
127
+
128
+ -- muquit@muquit.com , Apr-05-2014, first cut
129
+
130
+ ## 0.5.0
131
+
132
+ * original base code