#ifndef _WINDOW_H_ #define _WINDOW_H_ #include #include #include // Width of the settings window #define PREF_WINDOW_WIDTH 300 // Text on the level indicator (GtkLevelBar) enum LevelTextType { LEVEL_TEXT_NONE, // Do not show level value LEVEL_TEXT_PERCENT, // show % value LEVEL_TEXT_DB // show decibel (dB) value }; // Settings for main window typedef struct { #ifdef APP_HAS_MENU GtkUIManager *ui_manager; #endif GtkWidget *window; // Main window GdkWindowState state; // Window's state GtkWidget *recorder_button; // Button to start/stop/continue recording GtkWidget *time_label; GtkWidget *size_label; GtkWidget *level_bar; // Signal level GtkWidget *filename; // Current filename GtkWidget *add_to_file; // Add to current file GtkWidget *timer_active; // Timer settings GtkWidget *timer_text; GtkWidget *timer_save_button; GtkWidget *audio_device; // Audio device, audio source combo GtkWidget *media_format; // Media format (mp3, ogg, etc.) combo GtkWidget *audio_quality; // Bitrate or quality for the selected media_format (NOT YET IMPLEMENTED) GtkWidget *error_box; // Show error messages here GtkWidget *settings_button; // Additional settings button enum LevelTextType level_ttype; } MainWindow; void win_create_window(); void win_show_window(gboolean show); gboolean win_window_is_visible(); void win_close_button_cb(GtkButton *button, gpointer user_data); void win_timer_save_text_cb(GtkWidget *widget, gpointer user_data); void win_quit_application(); void win_hide_window(); void win_update_gui(); void win_set_error_text(gchar *error_txt); void win_show_settings_dialog(); void win_update_level_bar(gdouble peak, gdouble peak_dB); void win_set_filename(gchar *filename); void win_set_time_label(gchar *time_txt); void win_set_size_label(gchar *size_txt); void win_show_right_click_menu(); GdkWindowState win_get_window_state(); void systray_module_init(); void systray_module_exit(); void systray_icon_setup(); gboolean systray_icon_is_installed(); GtkWidget *systray_create_menu(gboolean for_tray_icon); void systray_set_menu_items1(gint state); void systray_set_menu_items2(gboolean show); const gchar *systray_get_indicator_type(); #endif