messenger-gtk

Gtk+3 graphical user interfaces for GNUnet Messenger
Log | Files | Refs | Submodules | README | LICENSE

accounts.h (2010B)


      1 /*
      2    This file is part of GNUnet.
      3    Copyright (C) 2022--2024 GNUnet e.V.
      4 
      5    GNUnet is free software: you can redistribute it and/or modify it
      6    under the terms of the GNU Affero General Public License as published
      7    by the Free Software Foundation, either version 3 of the License,
      8    or (at your option) any later version.
      9 
     10    GNUnet is distributed in the hope that it will be useful, but
     11    WITHOUT ANY WARRANTY; without even the implied warranty of
     12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13    Affero General Public License for more details.
     14 
     15    You should have received a copy of the GNU Affero General Public License
     16    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17 
     18    SPDX-License-Identifier: AGPL3.0-or-later
     19  */
     20 /*
     21  * @author Tobias Frisch
     22  * @file ui/accounts.h
     23  */
     24 
     25 #ifndef UI_ACCOUNTS_H_
     26 #define UI_ACCOUNTS_H_
     27 
     28 #include "messenger.h"
     29 
     30 typedef struct UI_ACCOUNTS_Handle
     31 {
     32   guint show_queued;
     33 
     34   GtkBuilder *builder;
     35   GtkDialog *dialog;
     36 
     37   GtkListBox *accounts_listbox;
     38 
     39   GtkButton *close_button;
     40 } UI_ACCOUNTS_Handle;
     41 
     42 /**
     43  * Initializes a handle for the accounts dialog
     44  * of a given messenger application.
     45  *
     46  * @param app Messenger application
     47  * @param handle Accounts dialog handle
     48  */
     49 void
     50 ui_accounts_dialog_init(MESSENGER_Application *app,
     51 			                  UI_ACCOUNTS_Handle *handle);
     52 
     53 /**
     54  * Refreshes a given accounts dialog handle with the
     55  * current list of accounts from a messenger application.
     56  *
     57  * @param app Messenger application
     58  * @param handle Accounts dialog handle
     59  */
     60 void
     61 ui_accounts_dialog_refresh(MESSENGER_Application *app,
     62 			                     UI_ACCOUNTS_Handle *handle);
     63 
     64 /**
     65  * Cleans up the allocated resources and resets the
     66  * state of a given accounts dialog handle.
     67  *
     68  * @param handle Accounts dialog handle
     69  * @param app Messenger application
     70  */
     71 void
     72 ui_accounts_dialog_cleanup(UI_ACCOUNTS_Handle *handle,
     73                            MESSENGER_Application *app);
     74 
     75 #endif /* UI_ACCOUNTS_H_ */