dictionary setting are now grouped in DictionarySettings
This commit is contained in:
parent
7815209c7b
commit
eb30452579
2 changed files with 34 additions and 61 deletions
|
@ -85,7 +85,6 @@ import org.thdl.tib.input.SettingsServiceProvider;
|
||||||
import org.thdl.tib.input.DictionaryLoadState;
|
import org.thdl.tib.input.DictionaryLoadState;
|
||||||
import java.util.Observable ;
|
import java.util.Observable ;
|
||||||
import org.thdl.tib.input.GlobalResourceHolder ;
|
import org.thdl.tib.input.GlobalResourceHolder ;
|
||||||
import org.thdl.tib.input.SettingsChangeListener ;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1958,22 +1957,15 @@ public void paste(int offset)
|
||||||
public void onDictionarySettingsChanged ()
|
public void onDictionarySettingsChanged ()
|
||||||
{
|
{
|
||||||
GlobalResourceHolder.getListener ().update ( getObservable (),
|
GlobalResourceHolder.getListener ().update ( getObservable (),
|
||||||
(Object)new Integer ( SettingsChangeListener.DICTIONARY_SETTINGS ) ) ;
|
(Object)new Integer ( GlobalResourceHolder.Listener.DICTIONARY_SETTINGS ) ) ;
|
||||||
|
|
||||||
if ( null == buttonToggleDict || null == buttonLookupDict )
|
if ( null == buttonToggleDict || null == buttonLookupDict )
|
||||||
return ;
|
return ;
|
||||||
|
|
||||||
if ( GlobalResourceHolder.isDictionaryValid () &&
|
boolean enableDictionaryButtons = GlobalResourceHolder.getDictionarySettings ().isValid () &&
|
||||||
GlobalResourceHolder.isDictionaryEnabled () )
|
GlobalResourceHolder.getDictionarySettings ().isEnabled () ;
|
||||||
{
|
buttonToggleDict.setEnabled ( enableDictionaryButtons ) ;
|
||||||
buttonToggleDict.setEnabled ( true ) ;
|
buttonLookupDict.setEnabled ( enableDictionaryButtons ) ;
|
||||||
buttonLookupDict.setEnabled ( true ) ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
buttonToggleDict.setEnabled ( false ) ;
|
|
||||||
buttonLookupDict.setEnabled ( false ) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2177,8 +2169,10 @@ public void paste(int offset)
|
||||||
|
|
||||||
toolbar.add ( buttonLookupDict ) ;
|
toolbar.add ( buttonLookupDict ) ;
|
||||||
|
|
||||||
buttonToggleDict.setEnabled ( GlobalResourceHolder.isDictionaryValid () && GlobalResourceHolder.isDictionaryEnabled () ) ;
|
boolean enableDictionaryButtons = GlobalResourceHolder.getDictionarySettings ().isValid () &&
|
||||||
buttonLookupDict.setEnabled ( GlobalResourceHolder.isDictionaryValid () && GlobalResourceHolder.isDictionaryEnabled () ) ;
|
GlobalResourceHolder.getDictionarySettings ().isEnabled () ;
|
||||||
|
buttonToggleDict.setEnabled ( enableDictionaryButtons ) ;
|
||||||
|
buttonLookupDict.setEnabled ( enableDictionaryButtons ) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,9 +10,9 @@ import org.thdl.tib.scanner.LocalTibetanScanner ;
|
||||||
import org.thdl.tib.scanner.RemoteTibetanScanner ;
|
import org.thdl.tib.scanner.RemoteTibetanScanner ;
|
||||||
import org.thdl.tib.scanner.Word ;
|
import org.thdl.tib.scanner.Word ;
|
||||||
|
|
||||||
import org.thdl.tib.input.SettingsChangeListener ;
|
|
||||||
import org.thdl.tib.input.SettingsServiceProvider ;
|
import org.thdl.tib.input.SettingsServiceProvider ;
|
||||||
import org.thdl.tib.input.DictionaryLoadState ;
|
import org.thdl.tib.input.DictionaryLoadState ;
|
||||||
|
import org.thdl.tib.input.DictionarySettings ;
|
||||||
|
|
||||||
import java.awt.GraphicsEnvironment ;
|
import java.awt.GraphicsEnvironment ;
|
||||||
import java.awt.Font ;
|
import java.awt.Font ;
|
||||||
|
@ -35,18 +35,16 @@ public class GlobalResourceHolder
|
||||||
private static TibetanScanner tibetanScanner = null ;
|
private static TibetanScanner tibetanScanner = null ;
|
||||||
private static SettingsServiceProvider settingsServiceProvider ;
|
private static SettingsServiceProvider settingsServiceProvider ;
|
||||||
|
|
||||||
private static boolean dictionaryValid = false ;
|
private static DictionarySettings dictionarySettings = null ;
|
||||||
private static boolean dictionaryEnabled = false ;
|
|
||||||
private static boolean dictionaryLocal = false ;
|
|
||||||
private static String dictionaryPath = "" ;
|
|
||||||
|
|
||||||
private static int dictionaryLoadState = DictionaryLoadState.UNDEFINED ;
|
private static int dictionaryLoadState = DictionaryLoadState.UNDEFINED ;
|
||||||
private static Object dictionaryLoadLock = null ;
|
private static Object dictionaryLoadLock = null ;
|
||||||
|
|
||||||
//static class Listener implements SettingsChangeListener
|
|
||||||
static class Listener implements Observer
|
static class Listener implements Observer
|
||||||
{
|
{
|
||||||
/**
|
public static final int DICTIONARY_SETTINGS = 1 ;
|
||||||
|
|
||||||
|
/**
|
||||||
* update
|
* update
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -64,7 +62,7 @@ public class GlobalResourceHolder
|
||||||
if ( null == GlobalResourceHolder.settingsServiceProvider )
|
if ( null == GlobalResourceHolder.settingsServiceProvider )
|
||||||
return ;
|
return ;
|
||||||
|
|
||||||
if ( SettingsChangeListener.DICTIONARY_SETTINGS == setting )
|
if ( DICTIONARY_SETTINGS == setting )
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// compare with the current settings
|
// compare with the current settings
|
||||||
|
@ -76,16 +74,13 @@ public class GlobalResourceHolder
|
||||||
String newDictionaryPath = GlobalResourceHolder.
|
String newDictionaryPath = GlobalResourceHolder.
|
||||||
settingsServiceProvider.getDictionarySettingsPath () ;
|
settingsServiceProvider.getDictionarySettingsPath () ;
|
||||||
|
|
||||||
|
DictionarySettings newSettings = new DictionarySettings ( newDictionaryEnabled,
|
||||||
|
newDictionaryLocal,
|
||||||
|
newDictionaryPath ) ;
|
||||||
|
|
||||||
if ( newDictionaryEnabled != GlobalResourceHolder.dictionaryEnabled ||
|
if ( ! newSettings.equal ( GlobalResourceHolder.dictionarySettings ) )
|
||||||
newDictionaryLocal != GlobalResourceHolder.dictionaryLocal ||
|
|
||||||
! newDictionaryPath.equals ( GlobalResourceHolder.dictionaryPath ) )
|
|
||||||
{
|
{
|
||||||
GlobalResourceHolder.dictionaryEnabled = newDictionaryEnabled ;
|
GlobalResourceHolder.dictionarySettings.set ( newSettings ) ;
|
||||||
GlobalResourceHolder.dictionaryLocal = newDictionaryLocal ;
|
|
||||||
GlobalResourceHolder.dictionaryPath = newDictionaryPath ;
|
|
||||||
|
|
||||||
|
|
||||||
GlobalResourceHolder.tibetanScanner = GlobalResourceHolder.loadDictionaryScanner () ;
|
GlobalResourceHolder.tibetanScanner = GlobalResourceHolder.loadDictionaryScanner () ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,7 +91,7 @@ public class GlobalResourceHolder
|
||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
listenerObj = new Listener () ;
|
listenerObj = new Listener () ;
|
||||||
|
|
||||||
//
|
//
|
||||||
// we have no service provider until the client class is born
|
// we have no service provider until the client class is born
|
||||||
|
@ -123,11 +118,7 @@ public class GlobalResourceHolder
|
||||||
//
|
//
|
||||||
tibetanScanner = null ;
|
tibetanScanner = null ;
|
||||||
|
|
||||||
dictionaryValid = false ;
|
dictionarySettings = new DictionarySettings () ;
|
||||||
dictionaryEnabled = false ;
|
|
||||||
dictionaryLocal = false ;
|
|
||||||
dictionaryPath = "" ;
|
|
||||||
|
|
||||||
dictionaryLoadLock = new Object () ;
|
dictionaryLoadLock = new Object () ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -160,21 +151,18 @@ public class GlobalResourceHolder
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
|
||||||
/*
|
|
||||||
* loadDictionaryScanner
|
* loadDictionaryScanner
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
protected static TibetanScanner loadDictionaryScanner ()
|
protected static TibetanScanner loadDictionaryScanner ()
|
||||||
{
|
{
|
||||||
//return new LocalTibetanScanner ( "F:/tmp/free/free" ) ;
|
|
||||||
TibetanScanner ts = null ;
|
TibetanScanner ts = null ;
|
||||||
|
|
||||||
if ( ! dictionaryEnabled )
|
if ( ! dictionarySettings.isEnabled () )
|
||||||
return null ;
|
return null ;
|
||||||
|
|
||||||
dictionaryValid = false ;
|
dictionarySettings.setValid ( false ) ;
|
||||||
|
|
||||||
synchronized ( dictionaryLoadLock )
|
synchronized ( dictionaryLoadLock )
|
||||||
{
|
{
|
||||||
|
@ -182,15 +170,15 @@ public class GlobalResourceHolder
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if ( dictionaryLocal )
|
if ( dictionarySettings.isLocal () )
|
||||||
{
|
{
|
||||||
ts = new LocalTibetanScanner ( dictionaryPath ) ;
|
ts = new LocalTibetanScanner ( dictionarySettings.getPathOrUrl () ) ;
|
||||||
dictionaryValid = true ;
|
dictionarySettings.setValid ( true ) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ts = new RemoteTibetanScanner ( dictionaryPath ) ;
|
ts = new RemoteTibetanScanner ( dictionarySettings.getPathOrUrl () ) ;
|
||||||
dictionaryValid = true ;
|
dictionarySettings.setValid ( true ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
dictionaryLoadState = DictionaryLoadState.READY ;
|
dictionaryLoadState = DictionaryLoadState.READY ;
|
||||||
|
@ -395,17 +383,8 @@ public class GlobalResourceHolder
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static boolean isDictionaryValid ()
|
public static DictionarySettings getDictionarySettings ()
|
||||||
{
|
{
|
||||||
return dictionaryValid ;
|
return dictionarySettings ;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static boolean isDictionaryEnabled ()
|
|
||||||
{
|
|
||||||
return dictionaryEnabled ;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue