pnmixer
Volume mixer for the system tray
Data Structures | Macros | Functions
ui-popup-menu.c File Reference

Popup menu subsystem. More...

#include <stdlib.h>
#include <glib.h>
#include <gtk/gtk.h>
#include "audio.h"
#include "support-log.h"
#include "support-intl.h"
#include "support-ui.h"
#include "ui-popup-menu.h"
#include "ui-about-dialog.h"
#include "main.h"
Include dependency graph for ui-popup-menu.c:

Go to the source code of this file.

Data Structures

struct  popup_menu
 

Macros

#define POPUP_MENU_UI_FILE   "popup-menu-gtk2.glade"
 

Functions

static void update_mute_item (GtkCheckMenuItem *mute_item, GCallback handler_func, gpointer handler_data, gboolean has_mute, gboolean muted)
 
void on_mute_item_activate (G_GNUC_UNUSED GtkCheckMenuItem *item, PopupMenu *menu)
 
void on_mixer_item_activate (G_GNUC_UNUSED GtkMenuItem *item, G_GNUC_UNUSED PopupMenu *menu)
 
void on_prefs_item_activate (G_GNUC_UNUSED GtkMenuItem *item, G_GNUC_UNUSED PopupMenu *menu)
 
void on_reload_item_activate (G_GNUC_UNUSED GtkMenuItem *item, PopupMenu *menu)
 
void on_about_item_activate (G_GNUC_UNUSED GtkMenuItem *item, G_GNUC_UNUSED PopupMenu *menu)
 
static void on_audio_changed (G_GNUC_UNUSED Audio *audio, AudioEvent *event, gpointer data)
 
GtkWindow * popup_menu_get_window (PopupMenu *menu)
 
void popup_menu_show (PopupMenu *menu, GTK_3_22_UNUSED GtkMenuPositionFunc func, GTK_3_22_UNUSED gpointer data, GTK_3_22_UNUSED guint button, GTK_3_22_UNUSED guint activate_time)
 
void popup_menu_destroy (PopupMenu *menu)
 
PopupMenupopup_menu_create (Audio *audio)
 

Detailed Description

Popup menu subsystem.

This file holds the ui-related code for the popup menu.

Definition in file ui-popup-menu.c.

Macro Definition Documentation

◆ POPUP_MENU_UI_FILE

#define POPUP_MENU_UI_FILE   "popup-menu-gtk2.glade"

Definition at line 37 of file ui-popup-menu.c.

Function Documentation

◆ on_about_item_activate()

void on_about_item_activate ( G_GNUC_UNUSED GtkMenuItem *  item,
G_GNUC_UNUSED PopupMenu menu 
)

Handles a click on 'about_item', opening the About dialog.

Parameters
itemthe object which received the signal.
menuPopupMenu instance set when the signal handler was connected.

Definition at line 174 of file ui-popup-menu.c.

◆ on_audio_changed()

static void on_audio_changed ( G_GNUC_UNUSED Audio audio,
AudioEvent event,
gpointer  data 
)
static

Handle signals from the audio subsystem.

Parameters
audiothe Audio instance that emitted the signal.
eventthe AudioEvent containing useful information.
datauser supplied data.

Definition at line 188 of file ui-popup-menu.c.

◆ on_mixer_item_activate()

void on_mixer_item_activate ( G_GNUC_UNUSED GtkMenuItem *  item,
G_GNUC_UNUSED PopupMenu menu 
)

Handles a click on 'mixer_item', opening the specified mixer application.

Parameters
itemthe object which received the signal.
menuPopupMenu instance set when the signal handler was connected.

Definition at line 135 of file ui-popup-menu.c.

◆ on_mute_item_activate()

void on_mute_item_activate ( G_GNUC_UNUSED GtkCheckMenuItem *  item,
PopupMenu menu 
)

Handles a click on 'mute_item', toggling the mute audio state.

Parameters
itemthe object which received the signal.
menuPopupMenu instance set when the signal handler was connected.

Definition at line 121 of file ui-popup-menu.c.

◆ on_prefs_item_activate()

void on_prefs_item_activate ( G_GNUC_UNUSED GtkMenuItem *  item,
G_GNUC_UNUSED PopupMenu menu 
)

Handles a click on 'prefs_item', opening the preferences window.

Parameters
itemthe object which received the signal.
menuPopupMenu instance set when the signal handler was connected.

Definition at line 148 of file ui-popup-menu.c.

◆ on_reload_item_activate()

void on_reload_item_activate ( G_GNUC_UNUSED GtkMenuItem *  item,
PopupMenu menu 
)

Handles a click on 'reload_item', re-initializing the audio subsystem.

Parameters
itemthe object which received the signal.
menuPopupMenu instance set when the signal handler was connected.

Definition at line 161 of file ui-popup-menu.c.

◆ popup_menu_create()

PopupMenu* popup_menu_create ( Audio audio)

Creates the popup menu and connects all the signals.

Parameters
audiopointer to this audio subsystem.
Returns
the newly created PopupMenu instance.

Definition at line 261 of file ui-popup-menu.c.

◆ popup_menu_destroy()

void popup_menu_destroy ( PopupMenu menu)

Destroys the popup menu, freeing any resources.

Parameters
menua PopupMenu instance.

Definition at line 245 of file ui-popup-menu.c.

◆ popup_menu_get_window()

GtkWindow* popup_menu_get_window ( PopupMenu menu)

Return a pointer toward the internal GtkWindow instance.

Parameters
menua PopupMenu instance.

Definition at line 208 of file ui-popup-menu.c.

◆ popup_menu_show()

void popup_menu_show ( PopupMenu menu,
GTK_3_22_UNUSED GtkMenuPositionFunc  func,
GTK_3_22_UNUSED gpointer  data,
GTK_3_22_UNUSED guint  button,
GTK_3_22_UNUSED guint  activate_time 
)

Shows the popup menu. The weird prototype of this function comes from the underlying gtk_menu_popup() that is used to display the popup menu.

Parameters
menua PopupMenu instance.
funca user supplied function used to position the menu, or NULL.
datauser supplied data to be passed to func.
buttonthe mouse button which was pressed to initiate the event.
activate_timethe time at which the activation event occurred.

Definition at line 225 of file ui-popup-menu.c.

◆ update_mute_item()

static void update_mute_item ( GtkCheckMenuItem *  mute_item,
GCallback  handler_func,
gpointer  handler_data,
gboolean  has_mute,
gboolean  muted 
)
static

Definition at line 68 of file ui-popup-menu.c.