|
|
|
/***************************************************************************
|
|
|
|
dlg_settings.cpp - description
|
|
|
|
-------------------
|
|
|
|
begin : Mon Jul 16 2001
|
|
|
|
copyright : (C) 2003 by Troy Corbin Jr.
|
|
|
|
email : tcorbin@users.sourceforge.net
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
/***************************************************************************
|
|
|
|
* *
|
|
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
|
|
* it under the terms of the GNU General Public License as published by *
|
|
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
|
|
* (at your option) any later version. *
|
|
|
|
* *
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
#include <kicontheme.h>
|
|
|
|
#include <kstddirs.h>
|
|
|
|
#include "definitions.h"
|
|
|
|
#include "dlg_settings.moc"
|
|
|
|
#include "setpagedisplay.h"
|
|
|
|
#include "setpageaudio.h"
|
|
|
|
#include "setpageengines.h"
|
|
|
|
#include "setpageservers.h"
|
|
|
|
#include "setpagegeneral.h"
|
|
|
|
|
|
|
|
///////////////////////////////////////
|
|
|
|
//
|
|
|
|
// dlg_settings::Constructor
|
|
|
|
//
|
|
|
|
///////////////////////////////////////
|
|
|
|
dlg_settings::dlg_settings(TQWidget *parent, const char *name, resource *Rsrc ) :
|
|
|
|
KDialogBase( IconList,
|
|
|
|
i18n("Configure"),
|
|
|
|
Help|Ok|Apply|Cancel,
|
|
|
|
Ok,
|
|
|
|
parent,
|
|
|
|
name,
|
|
|
|
FALSE,
|
|
|
|
FALSE )
|
|
|
|
{
|
|
|
|
TQString buffer;
|
|
|
|
Resource = Rsrc;
|
|
|
|
Resource->ConfigWrite();
|
|
|
|
|
|
|
|
/* General Page */
|
|
|
|
FRAME_General = addPage( i18n( "General" ),
|
|
|
|
i18n( "Various aspects of Knights get configured here." ),
|
|
|
|
TQPixmap( locate( "data", "knights/icon-general.png" ) ) );
|
|
|
|
PAGE_General = new setPageGeneral( FRAME_General, Resource );
|
|
|
|
connect( PAGE_General, TQT_SIGNAL( enableApply() ), this, TQT_SLOT( slotEnableApply() ) );
|
|
|
|
|
|
|
|
/* Display Page */
|
|
|
|
FRAME_Display = addPage( i18n( "Display" ),
|
|
|
|
i18n( "These settings determine how Knights displays itself to you." ),
|
|
|
|
TQPixmap( locate( "data", "knights/icon-display.png" ) ) );
|
|
|
|
PAGE_Display = new setPageDisplay( FRAME_Display, Resource );
|
|
|
|
connect( PAGE_Display, TQT_SIGNAL( enableApply() ), this, TQT_SLOT( slotEnableApply() ) );
|
|
|
|
|
|
|
|
/* Audio Page */
|
|
|
|
FRAME_Audio = addPage( i18n( "Audio" ),
|
|
|
|
i18n( "These settings determine what Knights sounds like." ),
|
|
|
|
Resource->LoadIcon( TQString("multimedia"), KIcon::Panel ) );
|
|
|
|
PAGE_Audio = new setPageAudio( FRAME_Audio, Resource );
|
|
|
|
connect( PAGE_Audio, TQT_SIGNAL( enableApply() ), this, TQT_SLOT( slotEnableApply() ) );
|
|
|
|
|
|
|
|
/* Engines Page */
|
|
|
|
FRAME_Engines = addPage( i18n( "Computer Opponents" ),
|
|
|
|
i18n( "Configure your chess engines here." ),
|
|
|
|
Resource->LoadIcon( TQString("gear"), KIcon::Panel ) );
|
|
|
|
PAGE_Engines = new setPageEngines( FRAME_Engines, Resource );
|
|
|
|
connect( PAGE_Engines, TQT_SIGNAL( enableApply() ), this, TQT_SLOT( slotEnableApply() ) );
|
|
|
|
|
|
|
|
/* Servers Page */
|
|
|
|
FRAME_Servers = addPage( i18n( "Chess Servers" ),
|
|
|
|
i18n( "Configure your internet chess servers here." ),
|
|
|
|
Resource->LoadIcon( TQString("network"), KIcon::Panel ) );
|
|
|
|
PAGE_Servers = new setPageServers( FRAME_Servers, Resource );
|
|
|
|
connect( PAGE_Servers, TQT_SIGNAL( enableApply() ), this, TQT_SLOT( slotEnableApply() ) );
|
|
|
|
|
|
|
|
connect( this, TQT_SIGNAL( aboutToShowPage( TQWidget* ) ), this, TQT_SLOT( slotPageChanging( TQWidget* ) ) );
|
|
|
|
|
|
|
|
/* Init the buttons */
|
|
|
|
showButtonCancel( TRUE );
|
|
|
|
showButtonOK( TRUE );
|
|
|
|
showButtonApply( TRUE );
|
|
|
|
showButton( Help, TRUE );
|
|
|
|
|
|
|
|
enableButtonCancel( TRUE );
|
|
|
|
enableButtonOK( TRUE );
|
|
|
|
enableButtonApply( FALSE );
|
|
|
|
enableButton( Help, TRUE );
|
|
|
|
|
|
|
|
setHelp( TQString( "configure" ) );
|
|
|
|
show();
|
|
|
|
}
|
|
|
|
///////////////////////////////////////
|
|
|
|
//
|
|
|
|
// dlg_settings::Destructor
|
|
|
|
//
|
|
|
|
///////////////////////////////////////
|
|
|
|
dlg_settings::~dlg_settings()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
///////////////////////////////////////
|
|
|
|
//
|
|
|
|
// dlg_settings::slotOk
|
|
|
|
//
|
|
|
|
///////////////////////////////////////
|
|
|
|
void dlg_settings::slotOk( void )
|
|
|
|
{
|
|
|
|
slotApply();
|
|
|
|
slotDelayedDestruct();
|
|
|
|
}
|
|
|
|
///////////////////////////////////////
|
|
|
|
//
|
|
|
|
// dlg_settings::slotApply
|
|
|
|
//
|
|
|
|
///////////////////////////////////////
|
|
|
|
void dlg_settings::slotApply( void )
|
|
|
|
{
|
|
|
|
if( PAGE_Display->changeTheme )
|
|
|
|
{
|
|
|
|
PAGE_Display->changeTheme = FALSE;
|
|
|
|
emit themeChanged( PAGE_Display->NewBoards, PAGE_Display->NewChessmen );
|
|
|
|
}
|
|
|
|
if( PAGE_Display->refreshBoard )
|
|
|
|
{
|
|
|
|
PAGE_Display->refreshBoard = FALSE;
|
|
|
|
emit redrawBoard();
|
|
|
|
}
|
|
|
|
if( PAGE_Display->rebuildConsole )
|
|
|
|
{
|
|
|
|
Resource->buildStyle();
|
|
|
|
PAGE_Display->rebuildConsole = FALSE;
|
|
|
|
emit rebuildConsole();
|
|
|
|
}
|
|
|
|
if( PAGE_Audio->changeTheme )
|
|
|
|
{
|
|
|
|
PAGE_Audio->changeTheme = FALSE;
|
|
|
|
Resource->setAudio( PAGE_Audio->NewSounds );
|
|
|
|
}
|
|
|
|
if( PAGE_Servers->resetServer )
|
|
|
|
{
|
|
|
|
PAGE_Servers->resetServer = FALSE;
|
|
|
|
emit resetServer();
|
|
|
|
}
|
|
|
|
Resource->ConfigWrite();
|
|
|
|
enableButtonApply( FALSE );
|
|
|
|
}
|
|
|
|
///////////////////////////////////////
|
|
|
|
//
|
|
|
|
// dlg_settings::slotCancel
|
|
|
|
//
|
|
|
|
///////////////////////////////////////
|
|
|
|
void dlg_settings::slotCancel( void )
|
|
|
|
{
|
|
|
|
Resource->ConfigRead();
|
|
|
|
slotDelayedDestruct();
|
|
|
|
}
|
|
|
|
///////////////////////////////////////
|
|
|
|
//
|
|
|
|
// dlg_settings::slotEnableApply
|
|
|
|
//
|
|
|
|
///////////////////////////////////////
|
|
|
|
void dlg_settings::slotEnableApply( void )
|
|
|
|
{
|
|
|
|
enableButtonApply( TRUE );
|
|
|
|
}
|
|
|
|
///////////////////////////////////////
|
|
|
|
//
|
|
|
|
// dlg_settings::slotThemesAdded
|
|
|
|
//
|
|
|
|
///////////////////////////////////////
|
|
|
|
void dlg_settings::slotThemesAdded( void )
|
|
|
|
{
|
|
|
|
PAGE_Display->buildThemeList();
|
|
|
|
PAGE_Audio->buildThemeList();
|
|
|
|
}
|
|
|
|
///////////////////////////////////////
|
|
|
|
//
|
|
|
|
// dlg_settings::slotPageChanging
|
|
|
|
//
|
|
|
|
///////////////////////////////////////
|
|
|
|
void dlg_settings::slotPageChanging( TQWidget *page )
|
|
|
|
{
|
|
|
|
if( page == FRAME_General )
|
|
|
|
setHelp( TQString( "configure-general" ) );
|
|
|
|
else if( page == FRAME_Display )
|
|
|
|
setHelp( TQString( "configure-display" ) );
|
|
|
|
else if( page == FRAME_Audio )
|
|
|
|
setHelp( TQString( "configure-audio" ) );
|
|
|
|
else if( page == FRAME_Engines )
|
|
|
|
setHelp( TQString( "configure-engines" ) );
|
|
|
|
else if( page == FRAME_Servers )
|
|
|
|
setHelp( TQString( "configure-servers" ) );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|