This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 207120

Summary: Allow options Dialog to be modal
Product: platform Reporter: tim_sa <tim_sa>
Component: Options&SettingsAssignee: Theofanis Oikonomou <theofanis>
Status: RESOLVED FIXED    
Severity: normal CC: apireviews, tmysik, uireviews
Priority: P3 Keywords: API, API_REVIEW_FAST, PLAN, UI
Version: 7.1   
Hardware: PC   
OS: Windows 7   
Issue Type: ENHANCEMENT Exception Reporter:
Attachments: Modal Options Displayer Patch
a patch
proposed patch

Description tim_sa 2012-01-10 11:06:43 UTC
Created attachment 114764 [details]
Modal Options Displayer Patch

When writing non-GUI NetBeans platform applications the current implementation of the OptionsDisplayer does not allow the Options Dialog to be displayed in a modal manner.

This behavior is fine for GUI applications, but does not work for console applications, were you often want to wait for the window to close before continuing.

I've created a patch that overloads OptionsDisplayer.open() and OptionsDisplayer.open(String path) with a boolean waitUntilClosed parameter.

The patch also makes some associated changes in OptionsDisplayerImpl in order to use the boolean waituntilClosed parameter.
Most notably it removes the boolean 'modal' class field as it is no longer used. 

I've checked that normal functioning of the NetBeans IDE is not affected (IE the options dialog still pops up as it should) and that it produces the desired effect when the waituntilClosed parameter is set to true (the options dialog becomes modal)
Comment 1 Theofanis Oikonomou 2013-02-19 16:40:52 UTC
Created attachment 131578 [details]
a patch

I think this patch gives a simpler solution. I someone wants the options window to be modal he can use

OptionsDisplayer.getDefault().setIsModal(true);
OptionsDisplayer.getDefault().open();

The default behaviour is for the options window to be non-modal.
Comment 2 Theofanis Oikonomou 2013-02-19 16:45:02 UTC
The proposed patch allows for a user to set the options window in a modal mode. Please review. Thank you
Comment 3 Jaroslav Tulach 2013-02-25 05:16:37 UTC
Y01 Setters don't belong to singletons[1]. The modal window needs to be different JDialog instance.

[1] http://wiki.apidesign.org/wiki/Singleton
Comment 4 Theofanis Oikonomou 2013-02-25 09:54:35 UTC
Created attachment 131822 [details]
proposed patch

Updated the patch based on Y01 comments. Also added a test. If there are no more objections I will integrate tomorrow. Thank you.
Comment 5 Theofanis Oikonomou 2013-02-26 10:29:09 UTC
Changeset: d6e7d2e46060
Author:    Theofanis Oikonomou <theofanis@netbeans.org>
Date:      2013-02-26 11:27
Message:
Comment 6 Tomas Mysik 2013-02-26 11:03:22 UTC
Perhaps I am wrong but I miss setModal(false) for the original open() methods - if one opens modal Options dialog and then calls just open(), would the Options dialog be non-modal?

Thanks.
Comment 7 Theofanis Oikonomou 2013-02-26 11:53:01 UTC
(In reply to comment #6)
> if one opens modal Options dialog and then calls just open(), would the Options
> dialog be non-modal?

if you use open(true) and then at some point open() or whatever for that matter the dialog would remain modal. Once the dialog is opened the modality is set until the dialog closes.
Comment 8 Tomas Mysik 2013-02-26 12:27:03 UTC
(In reply to comment #7)
> if you use open(true) and then at some point open() or whatever for that matter
> the dialog would remain modal. Once the dialog is opened the modality is set
> until the dialog closes.

OK, I meant:
- set modal
- open (-> modal),
- close
- open (-> modal or not?)

I will try it once the change is propagated to our team repo.

Thanks.
Comment 9 Quality Engineering 2013-02-27 16:11:46 UTC
Integrated into 'main-golden', will be available in build *201302270948* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/d6e7d2e46060
User: Theofanis Oikonomou <theofanis@netbeans.org>
Log: Issue #207120 - Allow options Dialog to be modal