static const struct button {
const gchar *stock;
void (*clicked)(GtkButton *button, gpointer userdata);
+ const char *tip;
} buttons[] = {
- { GTK_STOCK_OK, properties_ok },
- { GTK_STOCK_APPLY, properties_apply },
- { GTK_STOCK_CANCEL, properties_cancel },
+ {
+ GTK_STOCK_OK,
+ properties_ok,
+ "Apply all changes and close window"
+ },
+ {
+ GTK_STOCK_APPLY,
+ properties_apply,
+ "Apply all changes and keep window open"
+ },
+ {
+ GTK_STOCK_CANCEL,
+ properties_cancel,
+ "Discard all changes and close window"
+ },
};
#define NBUTTONS (int)(sizeof buttons / sizeof *buttons)
}
}
-void properties(int ntracks, char **tracks) {
+void properties(int ntracks, const char **tracks) {
int n, m;
struct prefdata *f;
GtkWidget *hbox, *vbox, *button, *label, *entry, *propagate, *content;
GdkPixbuf *pb;
-
+
+ /* If no tracks, do nothign */
+ if(!ntracks)
+ return;
/* If there is a properties window open then just bring it to the
* front. It might not have the right values in... */
if(properties_window) {
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(buttons[n].clicked), 0);
gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
+ gtk_tooltips_set_tip(tips, button, buttons[n].tip, "");
}
/* Put it all together */
vbox = gtk_vbox_new(FALSE, 1);