]> git.lizzy.rs Git - plan9front.git/commitdiff
mothra: dont make all images into links (only in mothmode)
authorcinap_lenrek <cinap_lenrek@gmx.de>
Wed, 26 Sep 2012 16:28:10 +0000 (18:28 +0200)
committercinap_lenrek <cinap_lenrek@gmx.de>
Wed, 26 Sep 2012 16:28:10 +0000 (18:28 +0200)
sys/src/cmd/mothra/mothra.c
sys/src/cmd/mothra/rdhtml.c

index 17306d5506f6b00c38eb03629469508ef5e77e05..f7206bfd7afd1f3790882ba4c3750786725cddb9 100644 (file)
@@ -718,17 +718,19 @@ void dolink(Panel *p, int buttons, Rtext *word){
        Action *a;
 
        a=word->user;
-       if(a == nil || a->image == nil && a->link == nil)
+       if(a == nil || (a->link == nil && a->image == nil))
                return;
        if(mothmode)
                hiturl(buttons, a->image ? a->image : a->link, 0);
-       else if(a->ismap){
-               yoffs=plgetpostextview(p);
-               coord=subpt(subpt(mouse.xy, word->r.min), p->r.min);
-               snprint(mapurl, sizeof(mapurl), "%s?%d,%d", a->link, coord.x, coord.y+yoffs);
-               hiturl(buttons, mapurl, 1);
-       } else
-               hiturl(buttons, a->link ? a->link : a->image, 0);
+       else if(a->link){
+               if(a->ismap){
+                       yoffs=plgetpostextview(p);
+                       coord=subpt(subpt(mouse.xy, word->r.min), p->r.min);
+                       snprint(mapurl, sizeof(mapurl), "%s?%d,%d", a->link, coord.x, coord.y+yoffs);
+                       hiturl(buttons, mapurl, 1);
+               } else
+                       hiturl(buttons, a->link, 0);
+       }
 }
 
 void filter(char *cmd, int fd){
@@ -982,8 +984,15 @@ mothon(Www *w, int on)
         */
        for(t=w->text;t;t=t->next){
                a=t->user;
-               if(a == nil || a->image == nil || a->link == nil)
+               if(a == nil || a->image == nil)
+                       continue;
+               if(a->link == nil){
+                       if(on)
+                               t->flags |= PL_HOT;
+                       else
+                               t->flags &= ~PL_HOT;
                        continue;
+               }
                x = t->next;
                if(on){
                        t->next = nil;
index 8405244a1c1753a92c057a77af55786ec566480d..bf7a5ee004ba0400c09ba930582ca73982c754f9 100644 (file)
@@ -144,7 +144,7 @@ void pl_htmloutput(Hglob *g, int nsp, char *s, Field *field){
                }
        }
        plrtstr(&g->dst->text, space, indent, f->font, strdup(s),
-               (g->state->link[0] || g->state->image[0]) ? PL_HOT : 0, ap);
+               g->state->link[0] ? PL_HOT : 0, ap);
        g->para=0;
        g->linebrk=0;
        g->dst->changed=1;