Switch transfers with scroll events.
authorfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Fri, 2 Dec 2005 00:16:52 +0000 (00:16 +0000)
committerfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Fri, 2 Dec 2005 00:16:52 +0000 (00:16 +0000)
git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@533 959494ce-11ee-0310-bf91-de5d638817bd

clients/gnome-trans-applet/dolcon-trans-applet.c

index 46c58fc..b73b46e 100644 (file)
@@ -197,6 +197,34 @@ static gboolean trview_applet_button_press(GtkWidget *widget, GdkEventButton *ev
     return(FALSE);
 }
 
+static gboolean trview_applet_scroll(GtkWidget *widget, GdkEventScroll *event, struct appletdata *data)
+{
+    struct transfer *tr;
+    
+    if(event->direction == GDK_SCROLL_DOWN)
+    {
+       if(data->curdisplay == NULL)
+           data->curdisplay = data->conduit->transfers;
+       else if(data->curdisplay->next == NULL)
+           data->curdisplay = data->conduit->transfers;
+       else
+           data->curdisplay = data->curdisplay->next;
+       update(data);
+    } else if(event->direction == GDK_SCROLL_UP) {
+       if(data->curdisplay == NULL)
+       {
+           data->curdisplay = data->conduit->transfers;
+       } else if(data->curdisplay->prev == NULL) {
+           for(tr = data->conduit->transfers; tr->next != NULL; tr = tr->next);
+           data->curdisplay = tr;
+       } else {
+           data->curdisplay = data->curdisplay->prev;
+       }
+       update(data);
+    }
+    return(TRUE);
+}
+
 static void trview_applet_destroy(GtkWidget *widget, struct appletdata *data)
 {
     freeconduit(data->conduit);
@@ -235,6 +263,7 @@ static gboolean trview_applet_fill(PanelApplet *applet, const gchar *iid, gpoint
     panel_applet_setup_menu(applet, ctxtmenu, ctxtmenuverbs, data);
 
     g_signal_connect(applet, "button-press-event", (GCallback)trview_applet_button_press, data);
+    g_signal_connect(applet, "scroll-event", (GCallback)trview_applet_scroll, data);
     g_signal_connect(applet, "destroy", (GCallback)trview_applet_destroy, data);
     
     condtryconn(data->conduit);