scroll list when moving rows up or down
authorChristoph Hohmann <reboot@gmx.ch>
Fri, 27 Jul 2001 12:39:55 +0000 (12:39 +0000)
committerChristoph Hohmann <reboot@gmx.ch>
Fri, 27 Jul 2001 12:39:55 +0000 (12:39 +0000)
ChangeLog.claws
src/prefs_filter.c
src/prefs_filtering.c
src/prefs_matcher.c
src/prefs_scoring.c

index 53658aa3b81c30024b1f7e1bf4eed689eefcae61..ba43fded6f6071f452b504d72c3558ce62f62a5f 100644 (file)
@@ -1,3 +1,11 @@
+2001-07-27 [christoph]
+
+       * src/prefs_filter.c
+       * src/prefs_filtering.c
+       * src/prefs_matcher.c
+       * src/prefs_scoring.c
+               scroll list when moving rows up or down
+
 2001-07-26 [alfons]
        
        * configure.in, acconfig.h
 2001-07-26 [alfons]
        
        * configure.in, acconfig.h
index e370e4f800703ab98d11c878cdf5561d99de05f7..68819f902c181aa757ac8deb176e8fab28c01ea5 100644 (file)
@@ -752,6 +752,9 @@ static void prefs_filter_up(void)
        row = GPOINTER_TO_INT(clist->selection->data);
        if (row > 1) {
                gtk_clist_row_move(clist, row, row - 1);
        row = GPOINTER_TO_INT(clist->selection->data);
        if (row > 1) {
                gtk_clist_row_move(clist, row, row - 1);
+               if(gtk_clist_row_is_visible(clist, row - 1) != GTK_VISIBILITY_FULL) {
+                       gtk_clist_moveto(clist, row - 1, 0, 0, 0);
+               } 
                prefs_filter_set_list();
        }
 }
                prefs_filter_set_list();
        }
 }
@@ -766,6 +769,9 @@ static void prefs_filter_down(void)
        row = GPOINTER_TO_INT(clist->selection->data);
        if (row > 0 && row < clist->rows - 1) {
                gtk_clist_row_move(clist, row, row + 1);
        row = GPOINTER_TO_INT(clist->selection->data);
        if (row > 0 && row < clist->rows - 1) {
                gtk_clist_row_move(clist, row, row + 1);
+               if(gtk_clist_row_is_visible(clist, row + 1) != GTK_VISIBILITY_FULL) {
+                       gtk_clist_moveto(clist, row + 1, 0, 1, 0);
+               } 
                prefs_filter_set_list();
        }
 }
                prefs_filter_set_list();
        }
 }
index 0abc38e556a8c8250eb8d1864d76ead20926db25..ea9996cab1d2e513e7e2f5ec94a8d5650b2426d8 100644 (file)
@@ -851,6 +851,9 @@ static void prefs_filtering_up(void)
        row = GPOINTER_TO_INT(clist->selection->data);
        if (row > 1) {
                gtk_clist_row_move(clist, row, row - 1);
        row = GPOINTER_TO_INT(clist->selection->data);
        if (row > 1) {
                gtk_clist_row_move(clist, row, row - 1);
+               if(gtk_clist_row_is_visible(clist, row - 1) != GTK_VISIBILITY_FULL) {
+                       gtk_clist_moveto(clist, row - 1, 0, 0, 0);
+               } 
        }
 }
 
        }
 }
 
@@ -864,6 +867,9 @@ static void prefs_filtering_down(void)
        row = GPOINTER_TO_INT(clist->selection->data);
        if (row > 0 && row < clist->rows - 1) {
                gtk_clist_row_move(clist, row, row + 1);
        row = GPOINTER_TO_INT(clist->selection->data);
        if (row > 0 && row < clist->rows - 1) {
                gtk_clist_row_move(clist, row, row + 1);
+               if(gtk_clist_row_is_visible(clist, row + 1) != GTK_VISIBILITY_FULL) {
+                       gtk_clist_moveto(clist, row + 1, 0, 1, 0);
+               } 
        }
 }
 
        }
 }
 
index 3cd5302ead37a48b5b5147b5bd5ae93039ce0a06..9cdb370daffe242490caad934f2f27d78250820e 100644 (file)
@@ -1085,8 +1085,12 @@ static void prefs_matcher_up(void)
        if (!clist->selection) return;
 
        row = GPOINTER_TO_INT(clist->selection->data);
        if (!clist->selection) return;
 
        row = GPOINTER_TO_INT(clist->selection->data);
-       if (row > 1)
+       if (row > 1) {
                gtk_clist_row_move(clist, row, row - 1);
                gtk_clist_row_move(clist, row, row - 1);
+               if(gtk_clist_row_is_visible(clist, row - 1) != GTK_VISIBILITY_FULL) {
+                       gtk_clist_moveto(clist, row - 1, 0, 0, 0);
+               } 
+       }
 }
 
 static void prefs_matcher_down(void)
 }
 
 static void prefs_matcher_down(void)
@@ -1097,8 +1101,12 @@ static void prefs_matcher_down(void)
        if (!clist->selection) return;
 
        row = GPOINTER_TO_INT(clist->selection->data);
        if (!clist->selection) return;
 
        row = GPOINTER_TO_INT(clist->selection->data);
-       if (row >= 1 && row < clist->rows - 1)
+       if (row >= 1 && row < clist->rows - 1) {
                gtk_clist_row_move(clist, row, row + 1);
                gtk_clist_row_move(clist, row, row + 1);
+               if(gtk_clist_row_is_visible(clist, row + 1) != GTK_VISIBILITY_FULL) {
+                       gtk_clist_moveto(clist, row + 1, 0, 1, 0);
+               } 
+       }
 }
 
 static void prefs_matcher_select(GtkCList *clist, gint row, gint column,
 }
 
 static void prefs_matcher_select(GtkCList *clist, gint row, gint column,
index 7eeddbb4ceeacb30a5e316d83c65f3803733790c..ef1296e84010d44e6e80c30dbd9359bf02ef81f8 100644 (file)
@@ -659,6 +659,9 @@ static void prefs_scoring_up(void)
        row = GPOINTER_TO_INT(clist->selection->data);
        if (row > 1) {
                gtk_clist_row_move(clist, row, row - 1);
        row = GPOINTER_TO_INT(clist->selection->data);
        if (row > 1) {
                gtk_clist_row_move(clist, row, row - 1);
+               if(gtk_clist_row_is_visible(clist, row - 1) != GTK_VISIBILITY_FULL) {
+                       gtk_clist_moveto(clist, row - 1, 0, 0, 0);
+               } 
        }
 }
 
        }
 }
 
@@ -672,6 +675,9 @@ static void prefs_scoring_down(void)
        row = GPOINTER_TO_INT(clist->selection->data);
        if (row > 0 && row < clist->rows - 1) {
                gtk_clist_row_move(clist, row, row + 1);
        row = GPOINTER_TO_INT(clist->selection->data);
        if (row > 0 && row < clist->rows - 1) {
                gtk_clist_row_move(clist, row, row + 1);
+               if(gtk_clist_row_is_visible(clist, row + 1) != GTK_VISIBILITY_FULL) {
+                       gtk_clist_moveto(clist, row + 1, 0, 1, 0);
+               } 
        }
 }
 
        }
 }