text: /**********************************************************************
  
    Sneedacity: A Digital Audio Editor
  
    ApplicationPrefs.cpp
  
    Anton Gerasimov
  
  
  *******************************************************************//**
  
  \class ApplicationPrefs
  \brief A PrefsPanel to enable/disable certain general application options like checking updates, etc.
  
  *//*******************************************************************/
  
  
  #include "ApplicationPrefs.h"
  #include "update/UpdateManager.h"
  
  #include <wx/defs.h>
  
  #include "../Prefs.h"
  #include "../ShuttleGui.h"
  
  ////////////////////////////////////////////////////////////////////////////////
  
  static ComponentInterfaceSymbol s_ComponentInterfaceSymbol{ XO("Application") };
  
  ApplicationPrefs::ApplicationPrefs(wxWindow * parent, wxWindowID winid)
  :  PrefsPanel(parent, winid, XO("Application"))
  {
     Populate();
  }
  
  ApplicationPrefs::~ApplicationPrefs()
  {
  }
  
  ComponentInterfaceSymbol ApplicationPrefs::GetSymbol()
  {
     return s_ComponentInterfaceSymbol;
  }
  
  TranslatableString ApplicationPrefs::GetDescription()
  {
     return XO("Preferences for Application");
  }
  
  ManualPageID ApplicationPrefs::HelpPageName()
  {
     return "Application_Preferences";
  }
  
  void ApplicationPrefs::Populate()
  {
     //------------------------- Main section --------------------
     // Now construct the GUI itself.
     // Use 'eIsCreatingFromPrefs' so that the GUI is
     // initialised with values from gPrefs.
     ShuttleGui S(this, eIsCreatingFromPrefs);
     PopulateOrExchange(S);
     // ----------------------- End of main section --------------
  }
  
  void ApplicationPrefs::PopulateOrExchange(ShuttleGui & S)
  {
     S.SetBorder(2);
     S.StartScroller();
     S.EndStatic();
     S.EndScroller();
  }
  
  bool ApplicationPrefs::Commit()
  {
     ShuttleGui S(this, eIsSavingToPrefs);
     PopulateOrExchange(S);
  
     return true;
  }
  
  namespace{
  PrefsPanel::Registration sAttachment{ "Application",
     [](wxWindow *parent, wxWindowID winid, SneedacityProject *)
     {
        wxASSERT(parent); // to justify safenew
        return safenew ApplicationPrefs(parent, winid);
     }
  };
  }
  