Imported Upstream version 0.3~20101226
authorJulien Valroff <julien@kirya.net>
Sun, 26 Dec 2010 09:47:33 +0000 (10:47 +0100)
committerJulien Valroff <julien@kirya.net>
Sun, 26 Dec 2010 09:47:33 +0000 (10:47 +0100)
src/feed_model.vala
src/feed_view.vala
src/main.vala
src/stream_abstract.vala
src/twitter_stream_home.vala

index ec4398b..c866f9f 100644 (file)
@@ -7,6 +7,8 @@ public class FeedModel : ArrayList<Status> {
        public signal void status_inserted(int index, Status status);
        public signal void status_removed(int index);
        
+       public AStream? stream = null;
+       
        public override bool add(Status status) {
                bool answer = base.add(status);
                
index 745c0d8..3507ca3 100644 (file)
@@ -5,12 +5,29 @@ public class FeedView : ScrolledWindow {
        
        private VBox vbox;
        private FeedModel model;
+       private VScrollbar scroll;
        
        public FeedView() {
                set_policy(PolicyType.AUTOMATIC, PolicyType.ALWAYS);
                
                vbox = new VBox(false, 2);
                add_with_viewport(vbox);
+               
+               scroll = (VScrollbar) get_vscrollbar();
+               scroll.value_changed.connect(() => {
+                       //debug(scroll.get_value().to_string());
+                       
+                       double max = scroll.adjustment.upper;
+                       double current = scroll.get_value();
+                       double scroll_size = scroll.adjustment.page_size;
+                       
+                       if(current != 0 && current + scroll_size == max) {
+                               debug("max");
+                               if(model.stream != null) {
+                                       model.stream.menu_more();
+                               }
+                       }
+               });
        }
        
        public void set_model(FeedModel model) {
index e4c5c43..58a04e5 100644 (file)
@@ -6,7 +6,7 @@ public class TestWindow : Window {
        
        public TestWindow() {
                set_default_size(300, 200);
-               
+               /*
                Status status1 = new Status();
                status1.content = """This is a Vala port of the famous Egg Clock sample <a href="somelink"><b>@widget</b></a> using Cairo and GTK+ as <a href="link:action"><b>described</b></a> in the GNOME Journal: Part 1 and part 2""";
                status1.user = new User();
@@ -49,6 +49,7 @@ public class TestWindow : Window {
                
                status4.fresh = false;
                status3.fresh = true;
+               */
        }
 }
 
index 6bf8e86..16d909d 100644 (file)
@@ -28,6 +28,10 @@ public abstract class AStream : Object {
        
        public int fresh_items {get; set; default = 0;}
        
+       construct {
+               model.stream = this;
+       }
+       
        public virtual void menu_refresh() {
                debug("not implemented");
        }
index eb78be6..fd26cef 100644 (file)
@@ -94,8 +94,12 @@ public class StreamHome : Twitter.StreamAbstract {
                
                if(result_lst.size > 1) {
                        //model.add_all(result_lst.slice(2, result_lst.size - 1));
+                       int i = 0;
                        foreach(Status status in result_lst) {
-                               model.add(status);
+                               if(i != 0)
+                                       model.add(status);
+                               
+                               i++;
                        }
                }
        }