Author: dandre
Date: Mon Sep 16 00:30:40 2013
New Revision: 4552
Log:
At startup, when welcome page is open, put it to front so that it is always
shown
Modified:
trunk/AncestrisCore/ancestris.app/src/ancestris/app/ControlCenter.java
trunk/AncestrisCore/welcome/src/ancestris/welcome/Installer.java
trunk/AncestrisCore/welcome/src/ancestris/welcome/WelcomeComponent.java
Modified: trunk/AncestrisCore/ancestris.app/src/ancestris/app/ControlCenter.java
==============================================================================
--- trunk/AncestrisCore/ancestris.app/src/ancestris/app/ControlCenter.java
(original)
+++ trunk/AncestrisCore/ancestris.app/src/ancestris/app/ControlCenter.java
Mon Sep 16 00:30:40 2013
@@ -28,9 +28,13 @@
import org.openide.util.Exceptions;
import genj.gedcom.Context;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import javax.swing.SwingUtilities;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileStateInvalidException;
+import org.openide.windows.TopComponent;
+import org.openide.windows.WindowManager;
/**
* The central component of the GenJ application
@@ -42,7 +46,7 @@
private int isLoaded = 1;
final private Object loadLock = new Object();
-
+ private static final Logger LOG = Logger.getLogger("ancestris");
/**
* Loads gedcom files
@@ -120,9 +124,17 @@
for (FileObject file: files) {
GedcomDirectory.getDefault().openGedcom(file);
// FIXME: should we save and restore passwords, and
how?
-
}
}
+ //XXX: activate welcome TC if opened just after opening all files.
+ // This must not be done here but activated in welcome module. In
fact this is already done
+ // but as all other TC are "manually" opened at startup (ie do not
use NB persistence
+ // topcomponent) we must open welcome here.
+ // We will have to investigate to properly use Persistence API for
TC
+ TopComponent welcome =
WindowManager.getDefault().findTopComponent("Welcome");
+ if (welcome!= null){
+ welcome.requestActive();
+ }
// done
App.center.isReady(-1);
Modified: trunk/AncestrisCore/welcome/src/ancestris/welcome/Installer.java
==============================================================================
--- trunk/AncestrisCore/welcome/src/ancestris/welcome/Installer.java
(original)
+++ trunk/AncestrisCore/welcome/src/ancestris/welcome/Installer.java Mon Sep
16 00:30:40 2013
@@ -32,8 +32,11 @@
import java.util.Set;
import org.openide.modules.ModuleInstall;
+import org.openide.windows.Mode;
import org.openide.windows.TopComponent;
import org.openide.windows.WindowManager;
+import org.openide.windows.WindowSystemEvent;
+import org.openide.windows.WindowSystemListener;
/**
* Checks the feedback survey.
@@ -42,19 +45,31 @@
@Override public void restored() {
WindowManager.getDefault().invokeWhenUIReady(this);
+ WindowManager.getDefault().addWindowSystemListener( new
WindowSystemListener() {
+
+ @Override
+ public void beforeLoad( WindowSystemEvent event ) {
}
@Override
- public boolean closing() {
+ public void afterLoad( WindowSystemEvent event ) {
+ }
+
+ @Override
+ public void beforeSave( WindowSystemEvent event ) {
+ WindowManager.getDefault().removeWindowSystemListener( this);
WelcomeComponent topComp = null;
+ boolean isEditorShowing = false;
Set<TopComponent> tcs = TopComponent.getRegistry().getOpened();
- for (TopComponent tc: tcs) {
+ for (Mode mode : WindowManager.getDefault().getModes()) {
+ TopComponent tc = mode.getSelectedTopComponent();
if (tc instanceof WelcomeComponent) {
topComp = (WelcomeComponent) tc;
- break;
}
+ if( null != tc &&
WindowManager.getDefault().isEditorTopComponent( tc ) )
+ isEditorShowing = true;
}
- if( WelcomeOptions.getDefault().isShowOnStartup() ) {
+ if( WelcomeOptions.getDefault().isShowOnStartup()/*??? &&
isEditorShowing */) {
if(topComp == null){
topComp = WelcomeComponent.findComp();
}
@@ -65,10 +80,17 @@
} else if( topComp != null ) {
topComp.close();
}
- return super.closing();
}
+ @Override
+ public void afterSave( WindowSystemEvent event ) {
+ }
+ });
+ }
+
+ @Override
public void run() {
FeedbackSurvey.start();
+ WelcomeComponent.findComp().requestActive();
}
}
Modified:
trunk/AncestrisCore/welcome/src/ancestris/welcome/WelcomeComponent.java
==============================================================================
--- trunk/AncestrisCore/welcome/src/ancestris/welcome/WelcomeComponent.java
(original)
+++ trunk/AncestrisCore/welcome/src/ancestris/welcome/WelcomeComponent.java
Mon Sep 16 00:30:40 2013
@@ -78,7 +78,7 @@
}
@Override protected String preferredID(){
- return "WelcomeComponent"; //NOI18N
+ return "Welcome"; //NOI18N
}
/**
@@ -110,7 +110,7 @@
}
}
- /* Singleton accessor. As WelcomeComponent is persistent singleton this
+ /** Singleton accessor. As WelcomeComponent is persistent singleton this
* accessor makes sure that WelcomeComponent is deserialized by window
system.
* Uses known unique TopComponent ID "Welcome" to get WelcomeComponent
instance
* from window system. "Welcome" is name of settings file defined in
module layer.
@@ -142,7 +142,7 @@
return wc;
}
- /* Singleton accessor reserved for window system ONLY. Used by window
system to create
+ /** Singleton accessor reserved for window system ONLY. Used by window
system to create
* WelcomeComponent instance from settings file when method is given. Use
<code>findComp</code>
* to get correctly deserialized instance of WelcomeComponent. */
public static WelcomeComponent createComp() {
---------------------------------------------------------------------
Site Web Ancestris : http://www.ancestris.org
<*> Pour vous desinscrire de cette liste, envoyez un mail a :
[email protected]
<*> Pour obtenir de l'aide sur les commandes de la liste :
[email protected]
Pour obtenir tous les messages lies a ce fil de discussion, cliquez sur le
lien ci-dessous, cela ouvrira votre logiciel de messagerie. Il vous suffira
d'envoyer le message :
[email protected]