//
//  The contents of this file are subject to the Mozilla Public License
//  Version 1.0 (the "License"); you may not use this file except in
//  compliance with the License. You may obtain a copy of the License at
//  http://www.mozilla.org/MPL/
// 
//  Software distributed under the License is distributed on an "AS IS"
//  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
//  the License for the specific language governing rights and limitations
//  under the License.
// 
//  The Original Code is CPhone, a cross platform voip gui.
//
//  The Initial Developer of the Original Code is Derek Smithies.
//
//  Copyright (C) 2002 Indranet Technologies Ltd, 
//                                  http://www.indranet-technologies.com
//  All Rights Reserved.
//
//  Contributor(s): _______________


/*
 *
 *  $Log: settingsSub.h,v $
 *  Revision 1.4  2003/08/26 04:48:02  dereksmithies
 *  Fixes to get statistics working right, add icons, add ok,cancel,apply buttons
 *
 *  Revision 1.3  2003/05/09 03:08:24  dereksmithies
 *  Fix Microtelco handling, and message display
 *
 *  Revision 1.2  2003/04/04 04:37:49  dereksmithies
 *  Major upgrade.
 *  Ixj & microtelco support added. Fix threading issues.
 *
 *  Revision 1.1.1.1  2002/05/12 22:55:05  dereksmithies
 *  Initial release.
 *
 *
 *
 *
 */

#ifndef SETTINGSSUB_H
#define SETTINGSSUB_H
#include <ptlib.h>
#include "cpendpoint.h"
#include "settings.h"
#include "mainwindowSub.h"

class QListviewItem;

class Settings : public FormConnectionSettings
{ 
 public:
    Settings(ConnectOptions & co);

    ~Settings();

   void ApplySettings_Slot();
   void CancelSettings_Slot();
   void MakeCodecActive_slot();
   void MakeCodecDormant_slot();
   void MoveCodecDown_slot();
   void MoveCodecUp_slot();
   void OkSettings_Slot();
   void OnConnectionEstablished(bool isEstablished);
   void NatTraversalChangedSlot();
   void MicroTelcoChangedSlot();
 

   void closeEvent(QCloseEvent *e);   
   void customEvent(QCustomEvent *e);
   void timerEvent(QTimerEvent *);

 protected:


   QListViewItem * FindThisCodec(QString sourceCodec);
   PStringList     GetSelectedCapabilities();

   void AddItemToList(QListView *srcList, PString label);
   void DisplayMessage(PString message);
   void DisplayMessage(QString message);
   void DisplayMessage(const char * message);
   void InitialiseCodecSettings();

   void SaveCurrentEntries();
   void SaveCodecSettings();
   void SaveGatekeeperMicroTelco();
   void SaveConnectionInfo();
   void SaveErrorLogging();

   void Setup();
   void UpdateCurrentGatekeeperText();
   void UpdateMicroTelcoText();
   void SelectFileNameSlot();
   void EnableDisableLoggingSlot();
   void UpdateLogFileName();

 private: 
   ConnectOptions & connectOpts;

   PStringList codecKeys;
   bool    controlsSet;

   QString logFileName;
   PString microTelcoAccount;
   PString microTelcoPassword;
};

#endif // SETTINGSSUB_H




syntax highlighted by Code2HTML, v. 0.9.1