comparison audacious/mainwin.c @ 1043:d122e3abf61c trunk

[svn] - make mainwin moveable again
author nenolod
date Sun, 14 May 2006 11:10:01 -0700
parents 286156196e16
children 18ef6f3089d4
comparison
equal deleted inserted replaced
1042:286156196e16 1043:d122e3abf61c
996 * 996 *
997 */ 997 */
998 998
999 gdk_flush(); 999 gdk_flush();
1000 1000
1001 if (mainwin_menurow->mr_doublesize_selected) { 1001 gtk_object_remove_data(GTK_OBJECT(mainwin), "is_moving");
1002 event->x /= 2; 1002 gtk_object_remove_data(GTK_OBJECT(mainwin), "offset_x");
1003 event->y /= 2; 1003 gtk_object_remove_data(GTK_OBJECT(mainwin), "offset_y");
1004 }
1005 1004
1006 handle_release_cb(mainwin_wlist, widget, event); 1005 handle_release_cb(mainwin_wlist, widget, event);
1007 1006
1008 draw_main_window(FALSE); 1007 draw_main_window(FALSE);
1009 1008
1035 x = event->x; 1034 x = event->x;
1036 y = event->y; 1035 y = event->y;
1037 state = event->state; 1036 state = event->state;
1038 } 1037 }
1039 1038
1040 handle_motion_cb(mainwin_wlist, widget, event); 1039 if (gtk_object_get_data(GTK_OBJECT(mainwin), "is_moving"))
1041 draw_main_window(FALSE); 1040 {
1041 gint offset_x, offset_y, mx, my;
1042
1043 offset_x = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(mainwin), "offset_x"));
1044 offset_y = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(mainwin), "offset_y"));
1045
1046 gdk_window_get_pointer(NULL, &x, &y, NULL);
1047
1048 mx = x - offset_x;
1049 my = y - offset_y;
1050
1051 gtk_window_move(GTK_WINDOW(mainwin), mx, my);
1052 }
1053 else
1054 {
1055 handle_motion_cb(mainwin_wlist, widget, event);
1056 draw_main_window(FALSE);
1057 }
1042 1058
1043 gdk_flush(); 1059 gdk_flush();
1044 1060
1045 return FALSE; 1061 return FALSE;
1046 } 1062 }
1116 if (0 && hint_move_resize_available()) { 1132 if (0 && hint_move_resize_available()) {
1117 hint_move_resize(mainwin, event->x_root, event->y_root, TRUE); 1133 hint_move_resize(mainwin, event->x_root, event->y_root, TRUE);
1118 grab = FALSE; 1134 grab = FALSE;
1119 } 1135 }
1120 else 1136 else
1137 {
1138 gint mx, my;
1139
1140 gdk_window_get_pointer(GDK_WINDOW(mainwin->window), &mx, &my, NULL);
1141 gtk_object_set_data(GTK_OBJECT(mainwin), "offset_x", GINT_TO_POINTER(mx));
1142 gtk_object_set_data(GTK_OBJECT(mainwin), "offset_y", GINT_TO_POINTER(my));
1143
1144 gtk_object_set_data(GTK_OBJECT(mainwin), "is_moving", GINT_TO_POINTER(1));
1121 gtk_window_present(GTK_WINDOW(mainwin)); 1145 gtk_window_present(GTK_WINDOW(mainwin));
1146 }
1122 } 1147 }
1123 else if (event->button == 1 && event->type == GDK_2BUTTON_PRESS && 1148 else if (event->button == 1 && event->type == GDK_2BUTTON_PRESS &&
1124 event->y < 14 && !inside_sensitive_widgets(event->x, event->y)) { 1149 event->y < 14 && !inside_sensitive_widgets(event->x, event->y)) {
1125 mainwin_set_shade(!cfg.player_shaded); 1150 mainwin_set_shade(!cfg.player_shaded);
1126 } 1151 }