* Can be NULL for always sensitive.
*/
int (*sensitive)(void);
+
+ /** @brief True if the menu item has inverse sense to the button */
+ gboolean menu_invert;
/** @brief Pointer to button */
GtkWidget *button;
stock: TRUE,
icon: GTK_STOCK_MEDIA_PAUSE,
label: "Pause",
- tip_on: "Pause playing track",
- tip_off: "Resume playing track",
+ tip_on: "Resume playing track",
+ tip_off: "Pause playing track",
menuitem: "<GdisorderMain>/Control/Playing",
on: pause_resume_on,
sensitive: pause_resume_sensitive,
action_go_on: disorder_eclient_pause,
action_go_off: disorder_eclient_resume,
events: "pause-changed playing-changed rights-changed playing-track-changed",
+ menu_invert: TRUE,
},
{
stock: TRUE,
},
{
toggle: TRUE,
- stock: TRUE,
- icon: GTK_STOCK_REFRESH,
+ stock: FALSE,
+ icon: "cards24.png",
label: "Random",
tip_on: "Disable random play",
tip_off: "Enable random play",
gtk_widget_set_style(balance_widget, tool_style);
gtk_scale_set_digits(GTK_SCALE(volume_widget), 10);
gtk_scale_set_digits(GTK_SCALE(balance_widget), 10);
- gtk_widget_set_size_request(volume_widget, 192, -1);
- gtk_widget_set_size_request(balance_widget, 192, -1);
+ gtk_widget_set_size_request(volume_widget, 128, -1);
+ gtk_widget_set_size_request(balance_widget, 128, -1);
gtk_widget_set_tooltip_text(volume_widget, "Volume");
gtk_widget_set_tooltip_text(balance_widget, "Balance");
gtk_box_pack_start(GTK_BOX(hbox), toolbar,
/* Icons with an associated menu item */
if(icon->item) {
if(icon->toggle)
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(icon->item), on);
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(icon->item),
+ !!icon->menu_invert ^ !!on);
gtk_widget_set_sensitive(icon->item, sensitive);
}
--suppress_actions;
static void toggled_menu(GtkCheckMenuItem attribute((unused)) *menuitem,
gpointer userdata) {
- clicked_icon(NULL, userdata);
+ toggled_icon(NULL, userdata);
}
/** @brief Called when a volume command completes */