~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Build fixes for GCC 4.1
[disorder]
/
disobedience
/
menu.c
diff --git
a/disobedience/menu.c
b/disobedience/menu.c
index
b2106ef
..
73773dd
100644
(file)
--- a/
disobedience/menu.c
+++ b/
disobedience/menu.c
@@
-58,7
+58,8
@@
static void select_all(gpointer attribute((unused)) callback_data,
(GTK_NOTEBOOK(tabs), gtk_notebook_current_page(GTK_NOTEBOOK(tabs)));
const struct tabtype *t = g_object_get_data(G_OBJECT(tab), "type");
(GTK_NOTEBOOK(tabs), gtk_notebook_current_page(GTK_NOTEBOOK(tabs)));
const struct tabtype *t = g_object_get_data(G_OBJECT(tab), "type");
- t->selectall_activate(tab);
+ if(t->selectall_activate)
+ t->selectall_activate(NULL, t->extra);
}
/** @brief Called when the select none option is activated
}
/** @brief Called when the select none option is activated
@@
-72,7
+73,8
@@
static void select_none(gpointer attribute((unused)) callback_data,
(GTK_NOTEBOOK(tabs), gtk_notebook_current_page(GTK_NOTEBOOK(tabs)));
const struct tabtype *t = g_object_get_data(G_OBJECT(tab), "type");
(GTK_NOTEBOOK(tabs), gtk_notebook_current_page(GTK_NOTEBOOK(tabs)));
const struct tabtype *t = g_object_get_data(G_OBJECT(tab), "type");
- t->selectnone_activate(tab);
+ if(t->selectnone_activate)
+ t->selectnone_activate(NULL, t->extra);
}
/** @brief Called when the track properties option is activated
}
/** @brief Called when the track properties option is activated
@@
-86,7
+88,8
@@
static void properties_item(gpointer attribute((unused)) callback_data,
(GTK_NOTEBOOK(tabs), gtk_notebook_current_page(GTK_NOTEBOOK(tabs)));
const struct tabtype *t = g_object_get_data(G_OBJECT(tab), "type");
(GTK_NOTEBOOK(tabs), gtk_notebook_current_page(GTK_NOTEBOOK(tabs)));
const struct tabtype *t = g_object_get_data(G_OBJECT(tab), "type");
- t->properties_activate(tab);
+ if(t->properties_activate)
+ t->properties_activate(NULL, t->extra);
}
/** @brief Called when the login option is activated */
}
/** @brief Called when the login option is activated */
@@
-112,27
+115,31
@@
static void settings(gpointer attribute((unused)) callback_data,
}
#endif
}
#endif
-/** @brief
Update menu state
+/** @brief
Called when edit menu is shown
*
* Determines option sensitivity according to the current tab and adjusts the
* widgets accordingly. Knows about @ref DISORDER_CONNECTED so the callbacks
* need not.
*/
*
* Determines option sensitivity according to the current tab and adjusts the
* widgets accordingly. Knows about @ref DISORDER_CONNECTED so the callbacks
* need not.
*/
-void menu_update(int page) {
+static void edit_menu_show(GtkWidget attribute((unused)) *widget,
+ gpointer attribute((unused)) user_data) {
if(tabs) {
GtkWidget *tab = gtk_notebook_get_nth_page
(GTK_NOTEBOOK(tabs),
if(tabs) {
GtkWidget *tab = gtk_notebook_get_nth_page
(GTK_NOTEBOOK(tabs),
-
page < 0 ? gtk_notebook_current_page(GTK_NOTEBOOK(tabs)) : page
);
+
gtk_notebook_current_page(GTK_NOTEBOOK(tabs))
);
const struct tabtype *t = g_object_get_data(G_OBJECT(tab), "type");
assert(t != 0);
gtk_widget_set_sensitive(properties_widget,
const struct tabtype *t = g_object_get_data(G_OBJECT(tab), "type");
assert(t != 0);
gtk_widget_set_sensitive(properties_widget,
- (t->properties_sensitive(tab)
+ (t->properties_sensitive
+ && t->properties_sensitive(t->extra)
&& (disorder_eclient_state(client) & DISORDER_CONNECTED)));
gtk_widget_set_sensitive(selectall_widget,
&& (disorder_eclient_state(client) & DISORDER_CONNECTED)));
gtk_widget_set_sensitive(selectall_widget,
- t->selectall_sensitive(tab));
+ t->selectall_sensitive
+ && t->selectall_sensitive(t->extra));
gtk_widget_set_sensitive(selectnone_widget,
gtk_widget_set_sensitive(selectnone_widget,
- t->selectnone_sensitive(tab));
+ t->selectnone_sensitive
+ && t->selectnone_sensitive(t->extra));
}
}
}
}
@@
-158,7
+165,7
@@
static void manual_popup(gpointer attribute((unused)) callback_data,
/** @brief Called when version arrives, displays about... popup */
static void about_popup_got_version(void attribute((unused)) *v,
/** @brief Called when version arrives, displays about... popup */
static void about_popup_got_version(void attribute((unused)) *v,
- const char attribute((unused)) *err
or
,
+ const char attribute((unused)) *err,
const char *value) {
GtkWidget *w;
char *server_version_string;
const char *value) {
GtkWidget *w;
char *server_version_string;
@@
-293,7
+300,7
@@
GtkWidget *menubar(GtkWidget *w) {
},
{
(char *)"/Edit/Select all tracks", /* path */
},
{
(char *)"/Edit/Select all tracks", /* path */
-
(char *)"<CTRL>A",
/* accelerator */
+
0,
/* accelerator */
select_all, /* callback */
0, /* callback_action */
0, /* item_type */
select_all, /* callback */
0, /* callback_action */
0, /* item_type */
@@
-301,7
+308,7
@@
GtkWidget *menubar(GtkWidget *w) {
},
{
(char *)"/Edit/Deselect all tracks", /* path */
},
{
(char *)"/Edit/Deselect all tracks", /* path */
-
(char *)"<CTRL><SHIFT>A",
/* accelerator */
+
0,
/* accelerator */
select_none, /* callback */
0, /* callback_action */
0, /* item_type */
select_none, /* callback */
0, /* callback_action */
0, /* item_type */
@@
-403,6
+410,12
@@
GtkWidget *menubar(GtkWidget *w) {
assert(selectall_widget != 0);
assert(selectnone_widget != 0);
assert(properties_widget != 0);
assert(selectall_widget != 0);
assert(selectnone_widget != 0);
assert(properties_widget != 0);
+
+
+ GtkWidget *edit_widget = gtk_item_factory_get_widget(mainmenufactory,
+ "<GdisorderMain>/Edit");
+ g_signal_connect(edit_widget, "show", G_CALLBACK(edit_menu_show), 0);
+
event_register("rights-changed", menu_rights_changed, 0);
users_set_sensitive(0);
m = gtk_item_factory_get_widget(mainmenufactory,
event_register("rights-changed", menu_rights_changed, 0);
users_set_sensitive(0);
m = gtk_item_factory_get_widget(mainmenufactory,