1
1

Sync from laptop: Get CList mode working; Parts of the window detection code -mig

Этот коммит содержится в:
Miguel de Icaza 1998-10-28 01:47:57 +00:00
родитель 1f01162672
Коммит 3a4a872fd2
2 изменённых файлов: 16 добавлений и 9 удалений

Просмотреть файл

@ -387,20 +387,22 @@ static void
check_window_in_one_panel (gpointer data, gpointer user_data)
{
PanelContainer *pc = (PanelContainer *) data;
GdkWindow *window = user_data;
GdkWindowPrivate *w = (GdkWindowPrivate *) user_data;
WPanel *panel = pc->panel;
if (panel->list_type == list_icons){
GnomeIconList *icon_list = GNOME_ICON_LIST (panel->icons);
if (window == GTK_WIDGET (icon_list)->window){
GdkWindowPrivate *wp = (GdkWindowPrivate *) GTK_WIDGET (icon_list)->window;
if (w->xwindow == wp->xwindow){
temp_panel = panel;
return;
}
} else {
GtkCList *clist = GTK_CLIST (panel->list);
if (window == GTK_CLIST (panel->list)->clist_window){
GdkWindowPrivate *wp = (GdkWindowPrivate *) clist->clist_window;
if (w->xwindow == wp->xwindow){
temp_panel = panel;
return;
}
@ -411,6 +413,9 @@ static WPanel *
find_panel_owning_window (GdkWindow *window)
{
temp_panel = NULL;
printf ("Looking for window %x\n", window);
g_list_foreach (containers, check_window_in_one_panel, window);
return temp_panel;
@ -564,6 +569,7 @@ drop_on_directory (GtkSelectionData *sel_data, GdkDragContext *context,
WPanel *source_panel;
GList *names;
gdk_flush ();
g_warning ("Figure out the data type\n");
if (sel_data->data == NULL)
return;

Просмотреть файл

@ -783,23 +783,23 @@ internal_select_item (GtkWidget *file_list, WPanel *panel, int row)
unselect_item (panel);
panel->selected = row;
gtk_signal_handler_block_by_data (GTK_OBJECT (file_list), panel);
select_item (panel);
gtk_signal_handler_unblock_by_data (GTK_OBJECT (file_list), panel);
}
static void
panel_file_list_select_row (GtkWidget *file_list, int row, int column, GdkEvent *event, WPanel *panel)
{
int current_selection = panel->selected;
printf ("Selecting %d %p, %d\n", row, event, event ? event->type : -1);
if (!event) {
internal_select_item (file_list, panel, row);
return;
}
switch (event->type) {
case GDK_BUTTON_PRESS:
case GDK_BUTTON_RELEASE:
printf ("1\n");
gtk_clist_unselect_row (GTK_CLIST (panel->list), row, 0);
internal_select_item (file_list, panel, row);
@ -823,6 +823,7 @@ panel_file_list_select_row (GtkWidget *file_list, int row, int column, GdkEvent
break;
case GDK_2BUTTON_PRESS:
printf ("2\n");
gtk_clist_unselect_row (GTK_CLIST (panel->list), row, 0);
if (event->button.button == 1)
do_enter (panel);