Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Makefile.in: CalendarDataStorage library now uses @DBGOUT@ settings if needed
[xestiacalendar/.git] / source / AppXestiaCalendar.h
1 // AppXesitaCalendar.h - Xestia Calendar application form code header
2 //
3 // (c) 2016-2017 Xestia Software Development.
4 //
5 // This file is part of Xestia Calendar.
6 //
7 // Xestia Calendar is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
10 //
11 // Xestia Calendar is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Calendar. If not, see <http://www.gnu.org/licenses/> 
19 ///////////////////////////////////////////////////////////////////////////
20 // C++ code generated with wxFormBuilder (version Nov 13 2016)
21 // http://www.wxformbuilder.org/
22 //
23 // PLEASE DO "NOT" EDIT THIS FILE!
24 ///////////////////////////////////////////////////////////////////////////
26 #ifndef __APPXESTIACALENDAR_H__
27 #define __APPXESTIACALENDAR_H__
29 #include <wx/artprov.h>
30 #include <wx/xrc/xmlres.h>
31 #include <wx/statusbr.h>
32 #include <wx/gdicmn.h>
33 #include <wx/font.h>
34 #include <wx/colour.h>
35 #include <wx/settings.h>
36 #include <wx/string.h>
37 #include <wx/bitmap.h>
38 #include <wx/image.h>
39 #include <wx/icon.h>
40 #include <wx/menu.h>
41 #include <wx/sizer.h>
42 #include <wx/frame.h>
43 #include <wx/stattext.h>
44 #include <wx/panel.h>
45 #include <wx/statline.h>
46 #include <wx/button.h>
47 #include <wx/dialog.h>
48 #include <wx/checkbox.h>
49 #include <wx/listctrl.h>
50 #include <wx/notebook.h>
51 #include <wx/statbmp.h>
52 #include <wx/choice.h>
53 #include <wx/textctrl.h>
54 #include <wx/html/htmlwin.h>
55 #include <wx/splitter.h>
56 #include <wx/gauge.h>
57 #include <wx/treectrl.h>
58 #include <wx/clrpicker.h>
59 #include <wx/datectrl.h>
60 #include <wx/dateevt.h>
61 #include <wx/scrolwin.h>
63 ///////////////////////////////////////////////////////////////////////////
66 ///////////////////////////////////////////////////////////////////////////////
67 /// Class frmMainADT
68 ///////////////////////////////////////////////////////////////////////////////
69 class frmMainADT : public wxFrame 
70 {
71         private:
72         
73         protected:
74                 wxStatusBar* stbBottom;
75                 wxMenuBar* menuBar;
76                 wxMenu* mnuManage;
77                 wxMenu* mnuCreate;
78                 wxMenu* mnuWindow;
79                 wxMenu* mnuHelp;
80                 wxBoxSizer* szrMain;
81                 
82                 // Virtual event handlers, overide them in your derived class
83                 virtual void QuitApp( wxCloseEvent& event ) { event.Skip(); }
84                 virtual void OpenNewAccountDialog( wxCommandEvent& event ) { event.Skip(); }
85                 virtual void ShowPreferencesWindow( wxCommandEvent& event ) { event.Skip(); }
86                 virtual void QuitApp( wxCommandEvent& event ) { event.Skip(); }
87                 virtual void CreateNewCalendar( wxCommandEvent& event ) { event.Skip(); }
88                 virtual void CreateNewEvent( wxCommandEvent& event ) { event.Skip(); }
89                 virtual void ShowHelp( wxCommandEvent& event ) { event.Skip(); }
90                 virtual void ShowUpdateWindow( wxCommandEvent& event ) { event.Skip(); }
91                 virtual void ShowAboutWindow( wxCommandEvent& event ) { event.Skip(); }
92                 
93         
94         public:
95                 
96                 frmMainADT( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Xestia Calendar"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 800,600 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
97                 
98                 ~frmMainADT();
99         
100 };
102 ///////////////////////////////////////////////////////////////////////////////
103 /// Class frmUpdateADT
104 ///////////////////////////////////////////////////////////////////////////////
105 class frmUpdateADT : public wxDialog 
107         private:
108         
109         protected:
110                 wxPanel* pnlUpdateData;
111                 wxStaticText* lblRunningText;
112                 wxStaticText* lblRunningVer;
113                 wxStaticText* lblAvailableText;
114                 wxStaticText* lblAvailableVer;
115                 wxStaticText* lblBuildTypeText;
116                 wxStaticText* lblBuildType;
117                 wxStaticText* lblUpdateMessage;
118                 wxStaticLine* statLine;
119                 wxButton* btnVisitGelforn;
120                 wxButton* btnVisitPREMIUM;
121                 wxButton* btnClose;
122                 
123                 // Virtual event handlers, overide them in your derived class
124                 virtual void VisitGelforn( wxCommandEvent& event ) { event.Skip(); }
125                 virtual void VisitPREMIUM( wxCommandEvent& event ) { event.Skip(); }
126                 virtual void CloseWindow( wxCommandEvent& event ) { event.Skip(); }
127                 
128         
129         public:
130                 
131                 frmUpdateADT( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Check For Updates"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 433,273 ), long style = wxDEFAULT_DIALOG_STYLE ); 
132                 ~frmUpdateADT();
133         
134 };
136 ///////////////////////////////////////////////////////////////////////////////
137 /// Class frmPreferencesADT
138 ///////////////////////////////////////////////////////////////////////////////
139 class frmPreferencesADT : public wxDialog 
141         private:
142         
143         protected:
144                 wxNotebook* NbtPreferences;
145                 wxPanel* tabGeneral;
146                 wxCheckBox* chkSaveWindowPosition;
147                 wxCheckBox* chkHideLocal;
148                 wxPanel* tabTheme;
149                 wxListCtrl* lstThemes;
150                 wxButton* btnThemeAdd;
151                 wxButton* btnThemeModify;
152                 wxButton* btnThemeDelete;
153                 wxPanel* tabAccounts;
154                 wxListCtrl* lstAccounts;
155                 wxButton* btnAccountAdd;
156                 wxButton* btnAccountModify;
157                 wxButton* btnAccountDelete;
158                 wxButton* btnSave;
159                 wxButton* btnCancel;
160                 
161                 // Virtual event handlers, overide them in your derived class
162                 virtual void LoadPreferences( wxInitDialogEvent& event ) { event.Skip(); }
163                 virtual void DisableABButtons( wxListEvent& event ) { event.Skip(); }
164                 virtual void EnableABButtons( wxListEvent& event ) { event.Skip(); }
165                 virtual void AddABAccount( wxCommandEvent& event ) { event.Skip(); }
166                 virtual void ModifyABAccount( wxCommandEvent& event ) { event.Skip(); }
167                 virtual void DeleteABAccount( wxCommandEvent& event ) { event.Skip(); }
168                 virtual void DisableButtons( wxListEvent& event ) { event.Skip(); }
169                 virtual void EnableButtons( wxListEvent& event ) { event.Skip(); }
170                 virtual void AddAccount( wxCommandEvent& event ) { event.Skip(); }
171                 virtual void ModifyAccount( wxCommandEvent& event ) { event.Skip(); }
172                 virtual void DeleteAccount( wxCommandEvent& event ) { event.Skip(); }
173                 virtual void SavePreferences( wxCommandEvent& event ) { event.Skip(); }
174                 virtual void CloseWindow( wxCommandEvent& event ) { event.Skip(); }
175                 
176         
177         public:
178                 
179                 frmPreferencesADT( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Preferences"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 450,400 ), long style = wxDEFAULT_DIALOG_STYLE ); 
180                 ~frmPreferencesADT();
181         
182 };
184 ///////////////////////////////////////////////////////////////////////////////
185 /// Class frmAboutADT
186 ///////////////////////////////////////////////////////////////////////////////
187 class frmAboutADT : public wxDialog 
189         private:
190         
191         protected:
192                 wxStaticBitmap* bmpLogo;
193                 wxStaticText* lblVersion;
194                 wxStaticText* lblCompileTime;
195                 wxStaticText* lblCopyright;
196                 wxButton* btnClose;
197                 
198                 // Virtual event handlers, overide them in your derived class
199                 virtual void CloseAboutWindow( wxCommandEvent& event ) { event.Skip(); }
200                 
201         
202         public:
203                 
204                 frmAboutADT( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("About Xestia Calendar"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 350,400 ), long style = wxDEFAULT_DIALOG_STYLE ); 
205                 ~frmAboutADT();
206         
207 };
209 ///////////////////////////////////////////////////////////////////////////////
210 /// Class frmNewAccountADT
211 ///////////////////////////////////////////////////////////////////////////////
212 class frmNewAccountADT : public wxDialog 
214         private:
215         
216         protected:
217                 wxBoxSizer* szrNewAccount;
218                 wxPanel* tabType;
219                 wxStaticText* lblEnterText;
220                 wxStaticText* lblType;
221                 wxChoice* cmbServerType;
222                 wxStaticText* lblServerAddress;
223                 wxTextCtrl* txtServerAddress;
224                 wxStaticText* lblServerPort;
225                 wxTextCtrl* txtServerPort;
226                 wxStaticText* lblUsername;
227                 wxTextCtrl* txtUsername;
228                 wxStaticText* lblPassword;
229                 wxTextCtrl* txtPassword;
230                 wxStaticText* lblSSL;
231                 wxCheckBox* chkUseSSL;
232                 wxPanel* tabConn;
233                 wxStaticText* lblConnectionResult;
234                 wxStaticText* lblServerConnected;
235                 wxStaticText* lblServerConnResult;
236                 wxStaticText* lblValidResponse;
237                 wxStaticText* lblServerResponse;
238                 wxStaticText* lblUseSSL;
239                 wxStaticText* lblServerSSLResult;
240                 wxStaticText* lblServerSSLCert;
241                 wxStaticText* lblServerSSLValid;
242                 wxStaticText* lblServerUsernamePassword;
243                 wxStaticText* lblAbleToLoginResult;
244                 wxStaticText* lblIsCalDAV;
245                 wxStaticText* lblCardDAVSupportResult;
246                 wxStaticLine* m_staticline3;
247                 wxStaticText* lblConnectionResultText;
248                 wxPanel* tabFinish;
249                 wxStaticText* lblFinishText;
250                 wxStaticText* lblAccountName;
251                 wxTextCtrl* txtAccountName;
252                 wxButton* btnPrevious;
253                 wxButton* btnNext;
254                 wxButton* btnClose;
255                 
256                 // Virtual event handlers, overide them in your derived class
257                 virtual void UpdateRequirements( wxCommandEvent& event ) { event.Skip(); }
258                 virtual void CheckAccountName( wxCommandEvent& event ) { event.Skip(); }
259                 virtual void ProcessPrevious( wxCommandEvent& event ) { event.Skip(); }
260                 virtual void ProcessNext( wxCommandEvent& event ) { event.Skip(); }
261                 virtual void CloseWindow( wxCommandEvent& event ) { event.Skip(); }
262                 
263         
264         public:
265                 
266                 frmNewAccountADT( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("New Account"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 425,330 ), long style = wxDEFAULT_DIALOG_STYLE ); 
267                 ~frmNewAccountADT();
268         
269 };
271 ///////////////////////////////////////////////////////////////////////////////
272 /// Class frmConflictResolutionADT
273 ///////////////////////////////////////////////////////////////////////////////
274 class frmConflictResolutionADT : public wxDialog 
276         private:
277         
278         protected:
279                 wxStaticText* lblText;
280                 wxSplitterWindow* m_splitter3;
281                 wxPanel* m_panel44;
282                 wxHtmlWindow* htmClient;
283                 wxPanel* m_panel45;
284                 wxHtmlWindow* htmServer;
285                 wxButton* btnKeepLocal;
286                 wxButton* btnKeepServer;
287                 wxButton* btnDecideLater;
288                 
289                 // Virtual event handlers, overide them in your derived class
290                 virtual void KeepLocalData( wxCommandEvent& event ) { event.Skip(); }
291                 virtual void KeepServerData( wxCommandEvent& event ) { event.Skip(); }
292                 virtual void DecideLater( wxCommandEvent& event ) { event.Skip(); }
293                 
294         
295         public:
296                 
297                 frmConflictResolutionADT( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Conflict Resolution"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 536,417 ), long style = wxDEFAULT_DIALOG_STYLE ); 
298                 ~frmConflictResolutionADT();
299                 
300                 void m_splitter3OnIdle( wxIdleEvent& )
301                 {
302                         m_splitter3->SetSashPosition( 257 );
303                         m_splitter3->Disconnect( wxEVT_IDLE, wxIdleEventHandler( frmConflictResolutionADT::m_splitter3OnIdle ), NULL, this );
304                 }
305         
306 };
308 ///////////////////////////////////////////////////////////////////////////////
309 /// Class frmActivityMgrADT
310 ///////////////////////////////////////////////////////////////////////////////
311 class frmActivityMgrADT : public wxFrame 
313         private:
314         
315         protected:
316                 wxMenuBar* mnuMenuBar;
317                 wxMenu* mnuWindow;
318                 wxMenuItem* mnuSleepMode;
319                 wxPanel* m_panel43;
320                 wxStaticBitmap* bmpActivity;
321                 wxPanel* m_panel46;
322                 wxStaticText* lblDetails;
323                 wxGauge* GauProgress;
324                 wxPanel* m_panel44;
325                 wxListCtrl* lstActivity;
326                 
327                 // Virtual event handlers, overide them in your derived class
328                 virtual void CloseWindow( wxCloseEvent& event ) { event.Skip(); }
329                 virtual void StopTask( wxCommandEvent& event ) { event.Skip(); }
330                 virtual void StopAllTasks( wxCommandEvent& event ) { event.Skip(); }
331                 virtual void RetryTask( wxCommandEvent& event ) { event.Skip(); }
332                 virtual void SleepMode( wxCommandEvent& event ) { event.Skip(); }
333                 virtual void CloseWindow( wxCommandEvent& event ) { event.Skip(); }
334                 
335         
336         public:
337                 
338                 frmActivityMgrADT( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Activity Manager"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 400,425 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
339                 
340                 ~frmActivityMgrADT();
341         
342 };
344 ///////////////////////////////////////////////////////////////////////////////
345 /// Class frmEditAccountADT
346 ///////////////////////////////////////////////////////////////////////////////
347 class frmEditAccountADT : public wxDialog 
349         private:
350         
351         protected:
352                 wxNotebook* tabAccount;
353                 wxPanel* tabProperties;
354                 wxStaticText* lblAccName;
355                 wxTextCtrl* txtAccountName;
356                 wxStaticText* lblAccAdr;
357                 wxTextCtrl* txtAddress;
358                 wxStaticText* m_staticText193;
359                 wxTextCtrl* txtPort;
360                 wxStaticText* lblPort;
361                 wxTextCtrl* txtUsername;
362                 wxStaticText* lblPassword;
363                 wxTextCtrl* txtPassword;
364                 wxStaticText* lblPrefix;
365                 wxTextCtrl* txtPrefix;
366                 wxButton* btnDetect;
367                 wxStaticText* txtSSL;
368                 wxCheckBox* chkSSL;
369                 wxPanel* tabRefresh;
370                 wxStaticText* lblRefresh;
371                 wxTextCtrl* txtRefresh;
372                 wxButton* btnSave;
373                 wxButton* btnCancel;
374                 
375                 // Virtual event handlers, overide them in your derived class
376                 virtual void DetectAddressBook( wxCommandEvent& event ) { event.Skip(); }
377                 virtual void UpdateSettings( wxCommandEvent& event ) { event.Skip(); }
378                 virtual void CloseWindow( wxCommandEvent& event ) { event.Skip(); }
379                 
380         
381         public:
382                 
383                 frmEditAccountADT( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Edit Account"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 306,341 ), long style = wxDEFAULT_DIALOG_STYLE ); 
384                 ~frmEditAccountADT();
385         
386 };
388 ///////////////////////////////////////////////////////////////////////////////
389 /// Class frmSSLCertificateADT
390 ///////////////////////////////////////////////////////////////////////////////
391 class frmSSLCertificateADT : public wxDialog 
393         private:
394         
395         protected:
396                 wxNotebook* m_notebook28;
397                 wxPanel* tabSummary;
398                 wxPanel* pnlTop;
399                 wxStaticText* lblCertName;
400                 wxStaticText* lblValidityStatus;
401                 wxPanel* m_panel54;
402                 wxStaticText* lblIssuedTo;
403                 wxStaticText* lblIssuedToData;
404                 wxStaticText* lblValidFrom;
405                 wxStaticText* lblValidFromData;
406                 wxStaticText* lblValidUntil;
407                 wxStaticText* lblValidUntilData;
408                 wxPanel* tabDetail;
409                 wxListCtrl* lstValues;
410                 wxTextCtrl* txtValueData;
411                 wxPanel* tabHierarchy;
412                 wxTreeCtrl* treHierarchy;
413                 wxPanel* m_panel57;
414                 wxButton* btnViewCert;
415                 wxPanel* pnlButtons;
416                 wxButton* btnClose;
417                 
418                 // Virtual event handlers, overide them in your derived class
419                 virtual void LoadValueData( wxListEvent& event ) { event.Skip(); }
420                 virtual void CheckCertificate( wxTreeEvent& event ) { event.Skip(); }
421                 virtual void ViewCertificate( wxCommandEvent& event ) { event.Skip(); }
422                 virtual void CloseWindow( wxCommandEvent& event ) { event.Skip(); }
423                 
424         
425         public:
426                 
427                 frmSSLCertificateADT( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("SSL Certificate Window"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 347,402 ), long style = wxDEFAULT_DIALOG_STYLE ); 
428                 ~frmSSLCertificateADT();
429         
430 };
432 ///////////////////////////////////////////////////////////////////////////////
433 /// Class frmInvalidSSLCertificateADT
434 ///////////////////////////////////////////////////////////////////////////////
435 class frmInvalidSSLCertificateADT : public wxDialog 
437         private:
438         
439         protected:
440                 wxStaticText* lblSSLText;
441                 wxButton* btnAccept;
442                 wxButton* btnReject;
443                 wxButton* btnViewCert;
444                 
445                 // Virtual event handlers, overide them in your derived class
446                 virtual void Accept( wxCommandEvent& event ) { event.Skip(); }
447                 virtual void Reject( wxCommandEvent& event ) { event.Skip(); }
448                 virtual void ViewCertificates( wxCommandEvent& event ) { event.Skip(); }
449                 
450         
451         public:
452                 
453                 frmInvalidSSLCertificateADT( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Invalid SSL Certificate"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 445,239 ), long style = wxCAPTION ); 
454                 ~frmInvalidSSLCertificateADT();
455         
456 };
458 ///////////////////////////////////////////////////////////////////////////////
459 /// Class frmCalendarEditorADT
460 ///////////////////////////////////////////////////////////////////////////////
461 class frmCalendarEditorADT : public wxDialog 
463         private:
464         
465         protected:
466                 wxStaticText* lblAccount;
467                 wxChoice* cmbAccount;
468                 wxStaticText* lblName;
469                 wxTextCtrl* txtName;
470                 wxStaticText* lblColour;
471                 wxColourPickerCtrl* clpColour;
472                 wxStaticText* lblDescription;
473                 wxTextCtrl* txtDescription;
474                 wxButton* btnCreate;
475                 wxButton* btnClose;
476                 
477                 // Virtual event handlers, overide them in your derived class
478                 virtual void ProcessCalendar( wxCommandEvent& event ) { event.Skip(); }
479                 virtual void CloseWindow( wxCommandEvent& event ) { event.Skip(); }
480                 
481         
482         public:
483                 
484                 frmCalendarEditorADT( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Calendar Editor"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 550,305 ), long style = wxDEFAULT_DIALOG_STYLE ); 
485                 ~frmCalendarEditorADT();
486         
487 };
489 ///////////////////////////////////////////////////////////////////////////////
490 /// Class frmEventEditorADT
491 ///////////////////////////////////////////////////////////////////////////////
492 class frmEventEditorADT : public wxFrame 
494         private:
495         
496         protected:
497                 wxMenuBar* menuBar;
498                 wxMenu* mnuEvent;
499                 wxMenu* mnuEdit;
500                 wxNotebook* nbkNotebook;
501                 wxScrolledWindow* tabProperties;
502                 wxBoxSizer* szrList;
503                 wxFlexGridSizer* szrDetails;
504                 wxStaticText* lblCalendar;
505                 wxChoice* cmbCalendar;
506                 wxStaticText* lblEventName;
507                 wxTextCtrl* txtEventName;
508                 wxStaticText* lblDescription;
509                 wxTextCtrl* txtEventDescription;
510                 wxFlexGridSizer* szrTime;
511                 wxStaticText* lblStartTime;
512                 wxDatePickerCtrl* dapStartDate;
513                 wxTextCtrl* txtStartTime;
514                 wxStaticText* lblEndTime;
515                 wxDatePickerCtrl* dapEndDate;
516                 wxTextCtrl* txtEndTime;
517                 wxStaticText* lblDuration;
518                 wxTextCtrl* m_textCtrl20;
519                 
520                 // Virtual event handlers, overide them in your derived class
521                 virtual void CloseWindow( wxCloseEvent& event ) { event.Skip(); }
522                 virtual void SaveContact( wxCommandEvent& event ) { event.Skip(); }
523                 virtual void SaveNewContact( wxCommandEvent& event ) { event.Skip(); }
524                 virtual void CloseWindow( wxCommandEvent& event ) { event.Skip(); }
525                 virtual void CutText( wxCommandEvent& event ) { event.Skip(); }
526                 virtual void CopyText( wxCommandEvent& event ) { event.Skip(); }
527                 virtual void PasteText( wxCommandEvent& event ) { event.Skip(); }
528                 virtual void ProcessCalendarControl( wxCommandEvent& event ) { event.Skip(); }
529                 virtual void ProcessEventName( wxCommandEvent& event ) { event.Skip(); }
530                 
531         
532         public:
533                 
534                 frmEventEditorADT( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Event Editor"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 546,401 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
535                 
536                 ~frmEventEditorADT();
537         
538 };
540 #endif //__APPXESTIACALENDAR_H__
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy